【发布时间】:2014-06-26 19:30:03
【问题描述】:
我有一个带有无数复选框的网络表单。如果表单填写不正确,则不会重置任何复选框(作为一种防挫折功能)。
问题是,如果表单之前已提交,则重置按钮无法取消选中所有框。我该如何解决这个问题?
如果事先提交了表单,document.getElementById("form").reset() 也不起作用。
示例代码如下:
<body>
<script>
function resetData() {
document.getElementById("deleteContactFlag").checked=false;
document.getElementById("userAdministrationFlag").checked=false;
}
</script>
<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="post" id="form">
<input type="checkbox" name="deleteContactFlag" id="deleteContactFlag" <?php if (isset($_POST["deleteContactFlag"])) echo 'checked="checked"'; ?>/> Delete Contacts<br>
<input name="userAdministrationFlag" type="checkbox" id="userAdministrationFlag" <?php if (isset($_POST["userAdministrationFlag"])) echo 'checked="checked"'; ?>/> User Administration<br><br>
<input type="submit" name="submit" id="submit" value="Submit">
<button type="button" onClick="resetData()">Reset</button>
</form>
</body>
【问题讨论】:
-
document.getElementById("form").reset();为我工作 -
=\我不知道为什么它对我不起作用。
-
我认为
reset将所有输入设置为初始值。在您的情况下,其中一些输入最初是“检查”的。 stackoverflow.com/questions/4125247/how-does-form-reset-work -
实际上,它可以工作,但前提是用户尚未按下提交按钮。他们按下它后,它就不再起作用了。
标签: javascript php checkbox