有些时候用户点击reset或者cancle时,我们要重置这个表单(form),看看这个方法:
function cancel(event){
var inputs = document.getElementsByTagName("input");
for (var i = 0; i < inputs.length; i++){
if (inputs[i].getAttribute("type") === "checkbox"){
if((!inputs[i].hasAttribute("checked") && inputs[i].previousElementSibling.value === "true") || (inputs[i].hasAttribute("checked") && inputs[i].previousElementSibling.value === "false")){
inputs[i].click();
}
}
}
document.fm.reset();
event.preventDefault();
}
需要注意的有几点:
1. 用reset就可以把表单重置。
2.但会造成一些check box的value和attribute不一致的情况,所以在reset之前,我们先对这些更改的地方进行点击操作。
3.必要时,为了解除相关事件,使用preventDefalt()函数。
相关链接
http://www.w3school.com.cn/jsref/met_form_reset.asp
http://www.w3school.com.cn/jsref/event_preventdefault.asp