2

うまくいけば、これは非常に簡単な質問です! ページ上の特定のフォームが送信されるのをリッスンし、送信されたときにアラートを実行するために jQuery で動作するコードがあります。つまり、フォーム自体には ID がないため、特定のフォーム内のフォームをターゲットにしています。部門 ID。

$("#content form").submit(function() {
    alert("lorem ipsum dolor?");
});

jqueryを使用せずにjavascriptだけでこれを実行するための構文は何ですか? たとえば、私はこのコード (以下) を持っていますが、アクションを実行するためにフォームが送信されるのをリッスンする方法がわかりません..

var submitform = document.getElementById("content").getElementsByTagName("form");

ありがとう!

4

4 に答える 4

4

破壊的な方法ではなく、クロスブラウザでそれを行うには、少しのコードが必要です。

var submitform = document.getElementById("content").getElementsByTagName("form")[0],
    callback = function(){
       alert("lorem ipsum dolor?");
    };


if(window.addEventListener){
   submitform.addEventListener("submit", callback, false); // Most modern browsers
} else if (window.attachEvent){
   submitform.attachEvent("onsubmit", callback); // IE
} else {
   submitform.onsubmit = callback; // Destroys other handlers
}
于 2010-06-15T16:02:31.323 に答える
1
submitform.onSubmit = function() {
    alert("lorem ipsum dolor?");
}
于 2010-06-15T16:01:35.310 に答える
1

まず、getElementsByTagNameがを返すことNodeListを知っておく必要があります。最初のDOM要素を取得する必要があります。例:

var submitForm = document.getElementById("content")
                         .getElementsByTagName("form")[0];

submit次に、イベントをバインドできます。

submitForm.onsubmit = function () {
  alert("lorem ipsum dolor?");
};
于 2010-06-15T16:03:07.827 に答える
0

onsubmitハンドラーを使用できます。

于 2010-06-15T16:02:06.037 に答える