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.
精彩评论