2017-03-23 89 views
1

我不确定在这里添加哪些标签。防止表单提交导致在调试时重定向

我添加了一些跟踪,以formSubmit事件在Javascript中。我想通过在浏览器中多次提交表单进行试验,并想知道是否在Chrome或某些JS中设置了一些设置,我可以在控制台中键入,以防止在提交表单时重定向。

回答

2

如果您有jQuery的网页上,并在窗体中有一个ID,你coild在控制台调试前运行此:

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

这可以更冗长完成,无需任何条件为:

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

第二种假设有问题的形式是页面上的第一种形式。该指数可能需要调整。

对于所有形式使用jQuery:

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

或者没有jQuery的:

Array.prototype.forEach.call(document.getElementsByTagName("form"), function(form) { form.onsubmit = function(e) { e.preventDefault(); }; }); 

注 - 功能是通过数组原型叫,因为document.getElementsByTagName返回的HTMLCollection,而不是一个数组。

对于没有jQuery的两个,如果您试图测试已绑定到表单的提交处理程序,则可能会遇到问题。如果是这样的情况下,更换

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

与此:

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

它略长,但不会覆盖绑定到任何形式的现有的事件处理程序。

+1

谢谢这就是我需要的!接受定时器关闭 –

+0

很高兴我可以帮助:) –