如何禁止html表单在提交时导航
How to disable html form from navigating on submit?
假设我有这个表单
<form onsubmit="submitData();">
<input type="text" pattern="^[A-z]+$" required>
<button type="submit">OK</button>
</form>
单击提交按钮后,我不希望表单在地址栏中发布任何数据或导航到任何地方,我只希望它运行submitData功能,仅此而已。我之所以要使用表单,是因为它具有验证功能(如果输入文本丢失或与模式不匹配,它不会允许您提交)。
如果我将表单上onsubmit的值切换为"return false;",那么它将无法导航,但"submitData();return false;;"不起作用。还有其他想法吗?
尝试在代码开头添加e.preventDefault();
,并将事件传递给function submitData(e) {
,如下所示:
function submitData(e) {
e.preventDefault();
...
}
请参阅:https://developer.mozilla.org/en/docs/Web/API/Event/preventDefault
只需将表单自动传递的event.preventDefault
添加到函数:
function submitData(event){
event.preventDefault();
//your code will be here
}
阅读更多:https://developer.mozilla.org/en/docs/Web/API/Event/preventDefault
使用event.preventDefault()
。
了解更多信息:https://developer.mozilla.org/en/docs/Web/API/Event/preventDefault
将其添加到您的代码中:
document.getElementById("addYourTagHERE").addEventListener("onsubmit", function(event){
event.preventDefault()
});
或者这个在你的功能:
function submitData(event) {
event.preventDefault();
}
您希望取消提交event
处理程序的默认操作,因此:
function submitData() {
// whatever logic you have...
return false;
}
我相信这也有效:
function submitData( e ) {
e.preventDefault();
// whatever logic you have...
}
相关文章:
- HTML表单提交时未执行外部函数
- JS表单提交"无法使用Chrome数据保护程序加载此页面.尝试重新加载页面.调试信息:POST CISmtuK
- 将图像上传ajax与表单提交ajax相结合
- Javascript无法处理表单提交
- 如何在我的情况下禁用表单提交
- 加载后的页面与ajax表单提交不起作用
- angularjs-控制器在表单提交时未调用
- 禁用带有字符白名单的表单提交
- 如何使用Google Analytics跟踪表单提交
- 使用javascript将表单提交到iframe目标中
- e.preventDefault在表单提交时被忽略
- AngularJS JQuery Ajax表单提交等效
- JavaScript表单提交帮助
- PHP表单提交和重定向
- 当所有输入文本字段都为空时,禁止表单提交,但当jquery中的任何字段不为空时允许提交
- setTimeOut AFTER jQuery表单提交
- 从函数中选择要触发表单提交的正确元素
- JavaScript表单提交没有't fire asp服务器端点击功能的提交按钮
- 表单提交问题,如何在我的URL末尾获得ID的值
- Javascript使用Confirm取消表单提交