struts 验证错误后如何清除表单
How do you clear a form after struts validation error
我有一个表单 (JSP),我正在使用 Struts 来验证文本字段。例如,如果用户在 First name
文本框内输入数字,则显示错误,因为它只接受字母。消息与数字一起保留在屏幕上。当您右键单击并查看源代码时,您可以看到那里的数字,就好像它们是硬编码的一样。
我有一个 html:reset
按钮,但它不会清除文本框中的数字。如果您单击文本框并在验证错误后手动清除数字,然后单击 Reset 按钮,它会将数字放回原处。我尝试了许多不同的代码使用DOCUMENTS class 在脚本标签内有一个函数。这是我尝试过的许多代码之一:
<input type="button" value="Clear Form" onclick="clearForm()"/>
<script type="text/JavaScript">
function clearForm() {
document.getElementById("FirstName").value=" "; }
</script>
我也尝试过通过 class 名称和标签名称方法获取元素,但没有任何效果。
我的名字文本框 ID 是 FirstName
。 jsp 使用 HTML 和 Struts。任何帮助将不胜感激,如果有人愿意需要更多信息,我会提供。谢谢你们。
你应该使用这样的东西:<input type="reset" value="Reset">
<form method="POST">
...
<input type="text" size="xx" value="xx"><br />
<input type="reset" value="Reset">
<input type="submit" value="Submit" />
...
</form>
这是我的回答:
函数 clear_form_elements(ele) {
tags = ele.getElementsByTagName('input');
for(i = 0; i < tags.length; i++) {
switch(tags[i].type) {
case 'password':
case 'text':
tags[i].value = '';
break;
case 'checkbox':
case 'radio':
tags[i].checked = false;
break;
}
}
tags = ele.getElementsByTagName('select');
for(i = 0; i < tags.length; i++) {
if(tags[i].type == 'select-one') {
tags[i].selectedIndex = 0;
}
else {
for(j = 0; j < tags[i].options.length; j++) {
tags[i].options[j].selected = false;
}
}
}
tags = ele.getElementsByTagName('textarea');
for(i = 0; i < tags.length; i++) {
tags[i].value = '';
}
}
然后我只需使用按钮调用此函数,它就会清除所有内容。谢谢你的帮助。
创建一个清洁器
private void cleanForm(ActionForm form, HttpServletRequest request) {
HeatingValidatorForm basicForm = (HeatingValidatorForm) form;
basicForm.set("ID of the field", restar the field like > new String[0] < for a string);
}
在动作中调用清洁
cleanForm(form,request);
我有一个表单 (JSP),我正在使用 Struts 来验证文本字段。例如,如果用户在 First name
文本框内输入数字,则显示错误,因为它只接受字母。消息与数字一起保留在屏幕上。当您右键单击并查看源代码时,您可以看到那里的数字,就好像它们是硬编码的一样。
我有一个 html:reset
按钮,但它不会清除文本框中的数字。如果您单击文本框并在验证错误后手动清除数字,然后单击 Reset 按钮,它会将数字放回原处。我尝试了许多不同的代码使用DOCUMENTS class 在脚本标签内有一个函数。这是我尝试过的许多代码之一:
<input type="button" value="Clear Form" onclick="clearForm()"/>
<script type="text/JavaScript">
function clearForm() {
document.getElementById("FirstName").value=" "; }
</script>
我也尝试过通过 class 名称和标签名称方法获取元素,但没有任何效果。
我的名字文本框 ID 是 FirstName
。 jsp 使用 HTML 和 Struts。任何帮助将不胜感激,如果有人愿意需要更多信息,我会提供。谢谢你们。
你应该使用这样的东西:<input type="reset" value="Reset">
<form method="POST">
...
<input type="text" size="xx" value="xx"><br />
<input type="reset" value="Reset">
<input type="submit" value="Submit" />
...
</form>
这是我的回答: 函数 clear_form_elements(ele) {
tags = ele.getElementsByTagName('input');
for(i = 0; i < tags.length; i++) {
switch(tags[i].type) {
case 'password':
case 'text':
tags[i].value = '';
break;
case 'checkbox':
case 'radio':
tags[i].checked = false;
break;
}
}
tags = ele.getElementsByTagName('select');
for(i = 0; i < tags.length; i++) {
if(tags[i].type == 'select-one') {
tags[i].selectedIndex = 0;
}
else {
for(j = 0; j < tags[i].options.length; j++) {
tags[i].options[j].selected = false;
}
}
}
tags = ele.getElementsByTagName('textarea');
for(i = 0; i < tags.length; i++) {
tags[i].value = '';
}
}
然后我只需使用按钮调用此函数,它就会清除所有内容。谢谢你的帮助。
创建一个清洁器
private void cleanForm(ActionForm form, HttpServletRequest request) {
HeatingValidatorForm basicForm = (HeatingValidatorForm) form;
basicForm.set("ID of the field", restar the field like > new String[0] < for a string);
}
在动作中调用清洁
cleanForm(form,request);