2017-12-23 4 views
0

私はあなたがそれをチェックし提出するイベントのためのグローバルイベントリスナーをバインドすることができ"POST"メソッドを使って "POST"メソッドを送信するデフォルトフォームをオーバーライドできますか?

+0

は何を達成したいですか?あなたの質問はかなり不明瞭です...具体的なHTML/JSの例を使って詳細を追加できますか? – nemesv

+0

はい、フォームを送信する代わりにAJAXを使用する場合と同じように、これは常に実行されます。 'event.preventDefault()'を使うと、デフォルトの送信を防ぐことができます。 – Barmar

答えて

0

...デフォルトの方法は、など、ページ全体を更新するように動作する方法を変更するには、別のpost方法にform submittingのデフォルトpost方法を変更したいですそれが呼び出されたフォームのメソッドPOST送信の場合、デフォルトの動作を妨げたり、何か他のことをすることができます。

addEventListener("submit", (evt) => { 
 
    if (evt.target.method.toLowerCase() === "post") { 
 
    evt.preventDefault(); 
 
    alert("Do something else now"); 
 
    } 
 
});
<form method="post"> 
 
    <button>Submit</button> 
 
</form>

+0

私はAJAXを理解していますが、その場合、2つの投稿メソッドの違いは概念的には 'AJAX'と' default form submit'ですが、AJAX呼び出しはページを更新しません。またはそれらは異なって扱われる同じポストメソッドですか? – Jahnson

+0

POSTリクエストは、ヘッダーにPOSTメソッドを持つHTTPリクエストです。 method = POST、XMLHttpRequestオブジェクトでJavaScriptを使う、コマンドラインで 'curl'で、Postmanのような開発者のアプリで、などを使ってフォームを送信して、POSTリクエストを作成できます。 「Ajax」は、「ページを離れてJavaScriptを使用してHTTPリクエストを作成する」という言葉にすぎません。 – Quentin

関連する問題