开发者

Perform function on form submit

Hopefully this is a pretty simple question! I've got th开发者_开发问答e code working in jQuery to listen for a specific form on a page to be submitted and perform an alert when it is.. I.e.: The form itself doesn't have an ID so I am targeting the form within a specific DIV ID.

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

What would be the syntax for performing this in javascript alone without using jquery? For example, I have this code (below) and just am unsure of how to listen for the form to be submitted to perform an action..

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

Thanks!


To do it in a cross browser, not destructive way, it takes a bit of code:

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
}


submitform.onSubmit = function() {
    alert("lorem ipsum dolor?");
}


First of all, you should known that the getElementsByTagName will return a NodeList, you need to get the first DOM element, e.g.:

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

Then you can bind the submit event:

submitForm.onsubmit = function () {
  alert("lorem ipsum dolor?");
};


You can use the onsubmit handler.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜