使用本机javascript停止表单提交
我需要通过本机javascript而不是jQuery选择表单,并防止表单提交 诀窍在于表单没有名称或id,并且不能分配给它 我的HTML:使用本机javascript停止表单提交,javascript,html,forms,submit,Javascript,Html,Forms,Submit,我需要通过本机javascript而不是jQuery选择表单,并防止表单提交 诀窍在于表单没有名称或id,并且不能分配给它 我的HTML: <div id="search"> <form method="get"> <input type="text" name="post"/> <input type="submit" value="Post"> </form> </div>
<div id="search">
<form method="get">
<input type="text" name="post"/>
<input type="submit" value="Post">
</form>
</div>
到目前为止,我尝试使用document.forms[0]和document.getElementsByTagNameform[0]来选择表单,但返回的值未定义
另一个可能的解决方案是重载submit按钮的功能,但我也没有成功做到这一点。使用querySelector和事件监听器,它几乎像jQuery
document.querySelector('#search form').addEventListener('submit', function(e) {
e.preventDefault();
});
请注意,脚本必须位于元素之后,或者使用DOM就绪处理程序,以便元素可用
使用querySelector和事件监听器,它几乎就像jQuery
document.querySelector('#search form').addEventListener('submit', function(e) {
e.preventDefault();
});
请注意,脚本必须位于元素之后,或者使用DOM就绪处理程序,以便元素可用
简单的方法是使用onsubmit事件处理程序
<script>
var submitHandler = function() {
// your code
return false;
}
</script>
<form method="get" onsubmit="return submitHandler()">....</form>
还是更容易
<form onsubmit="return false;">
简单的方法是使用onsubmit事件处理程序
<script>
var submitHandler = function() {
// your code
return false;
}
</script>
<form method="get" onsubmit="return submitHandler()">....</form>
还是更容易
<form onsubmit="return false;">
在表单上提交只返回false
e、 g.在表单提交时只需返回false
e、 g.我尝试了类似的方法,但它告诉我无法读取null的属性。我不知道它为什么会为null…这是因为没有可用的元素,它返回null,在DOM中的元素之后添加脚本,它就会工作。我尝试了类似的方法,但它告诉我我无法读取null的属性。我不知道为什么它会是null…因为没有可用的元素,它返回null,在DOM中的元素之后添加脚本,它就会工作。对不起,我应该更清楚一点,我无法以任何方式修改标记@adeneo的解决方案成功了,我的思路是正确的,我只是忘记了在HTML页面上的标记之后必须包含脚本。对不起,我应该更清楚一点,我无法以任何方式修改标记@adeneo的解决方案成功了,我走对了方向,只是忘记了在HTML页面上的标记之后必须包含脚本。