2

バニラJavaScriptのスキルを少し磨こうとしています。私は楽しみのためにフォームバリデーターに取り組んでいます。これまでの私のコードは次のとおりです。

var getParent = document.getElementById("myForm");

document.getElementById("submit").onclick = function(e) {

e.preventDefault();

var cache = !cache ? "Nothing has been selected" : cache;

for(i = 0; i < getParent.elements.method.length; i++) {

    if(getParent.elements.method[i].checked) {
        cache = getParent.elements.method[i].value;
    }

}

getParent.submit();

}

ご覧のとおり、これはいくつかのラジオボタンをテストして、チェックされているかどうかを確認します。下部の関数を使用し.submit()てフォームを送信しようとしていますが、エラーが発生します。このコードがフォームを送信しないのはなぜ.submit()ですか?

4

1 に答える 1

4

submitボタンに名前を付けて使用することはできませんsubmit()

ボタンはメソッドをオーバーライドします。したがって、実際に呼び出すgetParent.submit()と、実際の送信機能ではなく、ボタンを指します。

于 2013-01-09T19:25:47.637 に答える