我正在动态地在网页上创建一个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');
}
答案 0 :(得分:6)
这是问题所在:
mySubmit.onclick = validateNow();
Above不分配函数引用,但运行validate函数。试试这个:
mySubmit.onclick = validateNow;
或者这个:
mySubmit.onclick = function () {
validateNow();
};