我正在尝试使用确认窗口重置表单。我的HTML看起来像:
<input type="reset" value="Reset" onclick="showReset();"/>
然后是我的javascript:
function doReset() {
var formElements = document1.form1.elements;
for (var i = 0; i < formElements.length; i++) {
formElements[i].value = "";
if (formElements[i].checked) {
formElements[i].checked = false;
}
}
}
function showReset() {
if (window.confirm("Do you really want to reset the form?")) {
doReset();
}
}
当我在确认窗口点击取消时,表单仍然会重置,我不知道为什么。感谢。
答案 0 :(得分:2)
答案 1 :(得分:2)
如果我理解这个问题,重点是绕过默认行为并改用你的函数。您可以通过向showReset()函数添加返回false来阻止默认按钮操作。
function showReset(e) {
if (window.confirm("Do you really want to reset the form?")) {
doReset();
}
return false;
}
另外,请确保onclick处理程序返回showReset的结果:
<input type="reset" value="Reset" onclick="return showReset();"/>
或者,如果您想要默认的浏览器行为并且只想要一个确认对话框,为什么不仅使用确认?像这样:
<input type="reset" value="Reset" onclick="return window.confirm('Do you really want to reset the form?');"/>
这只是一个“做什么”,但如果你想获得更多信息,这些线程中有一些很好的信息:
答案 2 :(得分:0)
另一种方法:
var r=confirm("Do you really want to reset the form?");
if(r==true){
//Reset logic
}else{
//Dont reset logic
}