2011-02-09 78 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