2017-03-23 132 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

很高興我可以幫助:) –