我正在尝试使用
动态添加onsubmit事件if (window.addEventListener){
window.addEventListener('load', attachFormSubmit, false);
} else if (window.attachEvent){
window.attachEvent('onload', attachFormSubmit );
}
但如果您在此网址http://www.w3schools.com/js/js_form_validation.asp
上看到该示例它说。
<form onsubmit="return validateForm()" />
return语句,如何使用动态赋值。
EDIT ..
我的问题是关于使用return语句在onsubmit中的内联调用,我们可以在onsubmit处理程序内部硬编码“return validateForm()”中动态执行此操作吗?
答案 0 :(得分:0)
<强> HTML 强>
<form action="processor.php" method="post" id="myform">
<input type="checkbox" id="agree" name="agree"/>
<label for="agree">I agree to the TOS.</label>
<input type="submit" value="Submit">
</form>
<强>的Javascript 强>
如果您已经找到了良好的跨浏览器DOMContentLoaded / onload实现,则假设init()
在开始时运行。
function validateForm(evt) {
if(!document.getElementById('agree').checked) {
// W3C spec
if(evt.preventDefault)
{ evt.preventDefault(); }
// IE < 9
else if(evt.returnValue)
{ evt.returnValue = false; }
// catch-all
return false;
}
}
function init() {
var myForm = document.getElementById('myform');
// W3C spec
if(myForm.addEventListener)
{ myForm.addEventListener('submit',validateForm,false); }
// IE < 9
else if(myForm.attachEvent)
{ myForm.attachEvent('onsubmit',validateForm); }
// catch-all
else
{ myForm.onsubmit = validateForm; }
}
答案 1 :(得分:0)
为您的表单提供ID,然后执行:
document.getElementById("formId").onsubmit = validateForm;