2017-12-26 14 views
0

私は誰かが投稿したコードを見てきましたが、なぜ彼がここでpreventDefaultを使用したのかわかりません。なぜ誰かが私に言うことができますか?Javascript:なぜここでpreventDefaultを使用しましたか?

ありがとうございました。 https://codepen.io/Sylvia31/pen/eygvVm

form.addEventListener('submit', function (e) { 

    **e.preventDefault();** 

    responseContainer.innerHTML = ''; 
    searchedForText = searchField.value; 
    const imgRequest = new XMLHttpRequest(); 
    imgRequest.onload = addImage; 
    imgRequest.onerror = function (err) { 
     requestError(err, 'image'); 
    }; 
+1

ブラウザがフォームを送信しないようにするためです。 – Pointy

+0

@ Pointyしかし、なぜブラウザはフォームを送信しないようにする必要がありますか? – Sylvia

+1

おそらく、送信アクションがページを再ロードするからです。 –

答えて

0

基本的に、のpreventDefaultは、イベントの通常の動作をキャンセルするか、停止するために使用されます。送信ボタンが送信されないようにしたり、リンクがリダイレクトされないようにする。

ここでは、preventDefaultを使用して、チェックボックスがサブミットされないようにすることができます。

2

あなたはEvent.preventDefault() MDN Referenceから見ることができます:

preventDefault()方法は、イベントを明示的に処理されない場合、それは通常であるように、デフォルトのアクションが取られるべきではないことをユーザーエージェントに指示します。

、フォーム送信ボタンをクリックすると、デフォルトのアクションはsubmit形になり、フォームで定義されたアクションページにユーザーをリダイレクトして、停止することができますsubmitイベントハンドラでpreventDefault()の使用と

フォーム提出。

e.preventDefault()はフォームのデフォルト送信動作を停止し、代替コードブロック(この場合はXMLHttpRequest)を実行するためにここで使用されます。

関連する問題