2011-02-09 13 views
2

私はその場でWebページ上に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

答えて

5

これが問題である:上記

mySubmit.onclick = validateNow(); 

は、関数参照を割り当てることはありませんvalidate関数を実行します。

mySubmit.onclick = validateNow; 

またはこの:

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

素晴らしい、ありがとうInti。 –

関連する問題