我正在动态地在网页上创建一个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();
Run Code Online (Sandbox Code Playgroud)
这是验证功能:
function validateNow() {
alert('Validating Form');
}
Run Code Online (Sandbox Code Playgroud)
这就是问题:
mySubmit.onclick = validateNow();
Run Code Online (Sandbox Code Playgroud)
上面没有分配函数引用,但运行验证函数.试试这个:
mySubmit.onclick = validateNow;
Run Code Online (Sandbox Code Playgroud)
或这个:
mySubmit.onclick = function () {
validateNow();
};
Run Code Online (Sandbox Code Playgroud)