Javascriptに次の問題があります。ページ内のすべてのフォーム要素に「onsubmit」ハンドラーを (ページが読み込まれた後に) 自動的に追加しようとしています。だから私はこのスクリプトを書いた:
window.onload=function(){
var formElements=document.getElementsByTagName("form");
for (var k=0;k<formElements.length;k++){
formElements[k].onsubmit=function(param){
return formValidator(param);
}(formElements[k]);
}
};
formValidator 関数は、フォーム オブジェクトをパラメーターとして受け取り、フォーム内の入力要素とテキストエリア要素の内容を検証し、検証の結果として true または false を返します。ページの HTML ファイルには、onsubmit 属性のないフォーム要素があります (JavaScript で挿入する必要があります)。
問題は、ページがロードされたときに (ユーザーがフォームを送信しなくても) フォームが自動的に検証されるように見えることです。そして、ユーザーがフォームにデータを挿入し始めて送信ボタンをクリックすると、validateForm 関数は実行されません。
何か案は?
ありがとうございました。