Выполнить функцию при отправке формы - PullRequest
2 голосов
/ 15 июня 2010

Надеюсь, это довольно простой вопрос! У меня есть код, работающий в jQuery для прослушивания определенной формы на странице, которую нужно отправить, и выдачи оповещения, когда она есть ... Т.е. форма сама по себе не имеет идентификатора, поэтому я нацеливаюсь на форму внутри определенного DIV ID.

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

Какой будет синтаксис для выполнения этого только в javascript без использования jquery? Например, у меня есть этот код (ниже), и я просто не уверен, как прослушать форму, которая будет отправлена ​​для выполнения действия.

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

Спасибо!

Ответы [ 4 ]

4 голосов
/ 15 июня 2010

Чтобы сделать это в кросс-браузерном, не разрушительным способом, требуется немного кода:

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
}
1 голос
/ 15 июня 2010

Прежде всего, вы должны знать, что getElementsByTagName вернет NodeList, вам нужно получить первый элемент DOM, например ::

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

Затем вы можете связать событие submit:

submitForm.onsubmit = function () {
  alert("lorem ipsum dolor?");
};
1 голос
/ 15 июня 2010
submitform.onSubmit = function() {
    alert("lorem ipsum dolor?");
}
0 голосов
/ 15 июня 2010

Вы можете использовать обработчик onsubmit.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...