使用JavaScript重置表单

时间:2009-08-05 19:10:48

标签: php javascript

我正在使用以下内容重置我的表单:

<script type="text/javascript">

window.onload = function () {
document.getElementsByName("email_address")[0].value = "";
document.getElementsByName("remove")[0].value = "off";
}



</script>

问题是复选框“remove”似乎在服务器端脚本可以运行之前被重置。因此实际上,在运行php脚本之前,用户在复选框上选择的内容将被覆盖并设置为关闭。然而,输入框“email_address”很好......

测试...

//this is already set to OFF by the time we get here....even if the user may have ticked the checkbox to ON
echo $HTTP_GET_VARS['remove'];

//this is fine, the email_address input is read and not reset...
echo $HTTP_GET_VARS['email_address'];

任何人都可以解释一下吗? 我显然希望在我的服务器端脚本完成处理后重置表单,但由于某种原因它会提前重置复选框,但输入框没问题......

谢谢你!

3 个答案:

答案 0 :(得分:3)

我真的很困惑。你说你不希望在它返回一个提交后的值之前清除表单(你在这里做ajax表吗?)但你发布的示例代码设置为在页面加载时执行。 当然它会在提交之前重置。

相反,您需要将其设置为在表单提交完成后执行并且您有预期的响应。

不用手动重置每个表单元素,只需使用form.reset()方法。

答案 1 :(得分:1)

尝试使用以下内容而不是关闭

document.getElementsByName("remove")[0].checked = false;

欢呼声

答案 2 :(得分:1)

为什么不呢......

document.forms[0].reset();