javascript中的表单重置
form resetting in javascript
本文关键字:表单 javascript 更新时间:2023-09-26
我试图重置一个窗体与确认窗口。我的html看起来像:
<input type="reset" value="Reset" onclick="showReset();"/>
then for my 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();
}
}
当我在确认窗口上点击取消时,表单仍然会重置,我不知道为什么。谢谢。
如果我理解了这个问题,关键是绕过默认行为并使用您的函数。你可以通过在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?');"/>
这只是一个"做什么",但如果你想得到更多的信息,有一些好的信息在这些线程:
- event.preventDefault()与return false
- 添加'返回false'到单击事件侦听器?
它仍然会重置,因为您的输入类型已重置。创建按钮之类的然后使用表单的重置方法,像这样:
document.form1.reset();
MDN文档
另一种方法:
var r=confirm("Do you really want to reset the form?");
if(r==true){
//Reset logic
}else{
//Dont reset logic
}
相关文章:
- 在一次点击中发布到两个表单 JavaScript
- 有人可以告诉我如何调试这个 html 表单/javascript 组合
- 2 函数必须为真才能提交表单.(Javascript)
- 从表单javascript返回值时出现问题
- 从php中的mysql中复制带有嵌入式下拉列表的html表单javascript
- 使用谷歌表单javascript插件而不向公众发布
- 联系表单Javascript/Ajax/PHP不是't工作
- 将信息从表单传递到表单Javascript
- 提交表单javascript后处理完整事件
- 将变量传递给 HTML 表单 Javascript
- 当浏览器窗口关闭时,表单/JavaScript 数据会发生什么
- 从表单 javascript 中读取数字值
- 网页过滤器表单.Javascript 不允许使用多个字段
- 联系表单javascript验证被淘汰了
- 将表单 Javascript 的总数相加
- HTML 表单 JavaScript 被忽略
- 从简单的XSD文件生成HTML表单 - javascript
- 验证表单javascript
- 如果选中了复选框,则不要't验证运输表单-JavaScript
- 在html表单(javascript)中显示变量的内容