我正在动态地在网页上创建JavaScript表单。
创建表单后,它会触发我的提交按钮的onclick事件(并因此触发我为该表单创建的验证功能)。
创建表单时如何防止onclick事件触发?
以下是相关的代码段:
var myForm = document.createElement('form');
myForm.action = 'http://www.urlhere.com';
myForm.method = 'post';
var mySubmit = document.createElement('input');
mySubmit.id = 'submitButton';
mySubmit.type = 'Submit';
mySubmit.value = 'Book Now';
myForm.appendChild(mySubmit);
myLayer.appendChild(myForm);
mySubmit.onclick = validateNow();
这是验证功能:
function validateNow() {
alert('Validating Form');
}
最佳答案
这就是问题:
mySubmit.onclick = validateNow();
上面没有分配函数引用,而是运行validate函数。试试这个:
mySubmit.onclick = validateNow;
或这个:
mySubmit.onclick = function () {
validateNow();
};