如何禁用 html 表单在提交时导航?

use*_*993 4 html javascript

假设我有这个表格

<form onsubmit="submitData();">
    <input type="text" pattern="^[A-z]+$" required>
    <button type="submit">OK</button>
</form>
Run Code Online (Sandbox Code Playgroud)

单击提交按钮后,我不希望表单在地址栏中发布任何数据或导航到任何地方,我只希望它运行 submitData 函数,仅此而已。我想使用该表单的原因是它的验证功能(如果输入文本丢失或与模式不匹配,它不会让您提交)。

如果我将表单上的 onsubmit 值切换为“return false;” 然后它不会导航而是“submitData(); return false;” 不起作用。还有其他想法吗?

tim*_*awl 5

尝试e.preventDefault();在代码的开头添加,将事件传递给您function submitData(e) {,如下所示:

function submitData(e) {
    e.preventDefault();
    ...
}
Run Code Online (Sandbox Code Playgroud)

请参阅:https : //developer.mozilla.org/en/docs/Web/API/Event/preventDefault