Chrome 防止表单提交导致调试时重定向

ws51t4hk  于 2023-03-27  发布在  Go
关注(0)|答案(1)|浏览(146)

我不确定在这里添加哪些标签。
我在Javascript中添加了一些跟踪formSubmit事件。我想在浏览器中多次提交表单,并想知道Chrome中是否有一些设置,或者我可以在控制台中键入一些JS,以便在提交表单时阻止表单重定向?

vof42yt1

vof42yt11#

如果你的页面上有jQuery,并且你的表单有一个ID,你可以在调试之前在控制台运行这个:

$("#formId").submit(function(e){ e.preventDefault(); });

这可以在没有任何条件的情况下更详细地完成,如:

document.getElementsByTagName("form")[0].onsubmit = function(e) {
  e.preventDefault();
};

第二个假设所讨论的表单是页面上的第一个表单。索引可能需要调整。
对于所有使用jQuery的表单:

$("form").submit(function(e){ e.preventDefault(); });

如果没有jQuery:

Array.from(document.getElementsByTagName("form")).forEach(
  (form) => {
    form.onsubmit = function(e) { e.preventDefault(); };
  });

注意-该函数是通过Array原型调用的,因为document.getElementsByTagName返回HTMLCollection而不是Array。
对于这两个没有jQuery的应用程序,如果您试图测试已经绑定到表单的提交处理程序,可能会遇到问题。

form.onsubmit = function(e) { e.preventDefault(); };

用这个

form.addEventListener("submit", function(e) {
  e.preventDefault();
});

它稍长,但不会覆盖绑定到窗体的任何现有事件处理程序。

相关问题