2

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 関数は実行されません。

何か案は?

ありがとうございました。

4

1 に答える 1