2017-03-23 7 views
1

ここに追加するタグが不明でした。デバッグ中にリダイレクト先にフォーム提出を防止する

JavascriptでformSubmitイベントにトラッキングを追加しています。私はブラウザでフォームを何度も送信して実験したいと思いますし、クロームやJSのいくつかの設定をコンソールに入力すれば、フォームを送信したときにフォームがリダイレクトされるのを防ぐことができますか?

答えて

2

あなたのページにjQueryのを持って、そしてあなたのフォームがIDを持っている場合は、あなたがデバッグする前に、あなたのコンソールでこれを実行しcoild:

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

これはとしていずれかの条件なしでより冗長に行うことができます。

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

問題のフォームがページの最初のフォームであると仮定します。インデックスを調整する必要があるかもしれません。

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

またはjQueryをなし:: - document.getElementsByTagNameはHTMLCollectionなく配列を返すための関数は、アレイのプロトタイプを介して呼び出される

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

注jQueryを使ってすべての形態について

jQueryを使用しない2つの場合、既にフォームにバインドしている送信ハンドラをテストしようとすると問題が発生する可能性があります。その場合は、これに

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

を置き換える:

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

それは少し長いですが、フォームにバインドされた既存のイベントハンドラを上書きしません。

+1

ありがとう、これは私が必要なものです!タイマーが来るときに受け入れる –

+0

私は助けることができる喜んで:) –

関連する問題