2011-02-09 76 views
2

我正在网页上创建一个JavaScript表单。提交按钮onClick在表单加载时触发

当表单被创建时,它会触发我提交按钮的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

它触发点击事件,虽然,你不这样做呢?无论如何,至少要显示你的代码的简化版本。 – kirilloid 2011-02-09 10:52:50

回答

5

这就是问题所在:

mySubmit.onclick = validateNow(); 

上面并没有分配的功能参考,但运行验证功能。试试这个:

mySubmit.onclick = validateNow; 

或本:

mySubmit.onclick = function() { 
    validateNow(); 
}; 
+0

辉煌,感谢Inti。 – 2011-02-09 11:20:26