在不修改 HTML 的情况下检测表单提交
要在 JavaScript 中检测表单提交而不诉诸 HTML 事件属性(如 onSubmit 或 onClick),您可以使用表单元素的 addEventListener 或 AttachEvent 方法。
使用 EventTarget.addEventListener
对于支持 addEventListener 方法的现代浏览器,语法如下:
<code class="javascript">var ele = /*Your Form Element*/; if(ele.addEventListener){ ele.addEventListener("submit", callback, false); }</code>
使用 EventTarget.attachEvent
对于不支持 addEventListener 的较早版本的 Internet Explorer,请改用 AttachEvent:
<code class="javascript">else if(ele.attachEvent){ ele.attachEvent('onsubmit', callback); }</code>
在两者中情况下,回调是您要在提交表单时执行的函数。
防止默认提交
如果需要阻止表单原生提交,请使用 e回调函数中的 .preventDefault():
<code class="javascript">document.querySelector("#myForm").addEventListener("submit", function(e){ if(!isValid){ e.preventDefault(); } });</code>
库集成
如果首选使用库,这里有一些用于监听提交事件的流行选项:
jQuery:
<code class="javascript">$(ele).submit(callback);</code>
以上是如何在不修改 HTML 的情况下检测 JavaScript 中的表单提交?的详细内容。更多信息请关注PHP中文网其他相关文章!