我可以使用JavaScript中的一个简单匿名函数提交表单并进行验证,如下所示:
在上面使用匿名函数的例子中,当文档被提交时,我可以简单地分配返回值并防止页面被提交。而在下面的例子中,我使用
document.getElementById('myForm').onsubmit = function() {
if(document.getElementById('email').value == "") {
document.getElementById('errormessage').innerHTML = "Please provide at least an email address";
return false;
} else {
return true; // Note this
}
};
在上面使用匿名函数的例子中,当文档被提交时,我可以简单地分配返回值并防止页面被提交。而在下面的例子中,我使用
addEventListener
来添加表单提交事件,并通过验证函数进一步评估。我还将返回值设置为true或false,但这种方法似乎不起作用,页面仍然会被提交。我认为我在返回值方面有误。function addEventHandler(node, evt, func) {
if(node.addEventListener)
node.addEventListener(evt, func);
else
node.attachEvent("on" + evt, func);
}
function initializeAll() {
addEventHandler(document.getElementById('myform'), 'submit', validate);
}
function validate() {
if(document.getElementById('email').value == ""){
document.getElementById("errormessage").innerHTML = "Please provide at least an email ";
return false;
} else {
return true;
}
}
addEventHandler(window, 'load', initializeAll);
如何以这种方式返回值,以防止表单提交或提交表单?