0

PHPサーバーページに投稿するフォームがあります。POSTクライアント側でいくつかの検証テストを行う前に、問題がなければ返しtrueて送信を開始し、問題があれば返しfalseて送信をキャンセルします。

<form  onsubmit="return validateForm()" method="post" action="t5.php">

および検証関数:

function validateForm() {

    email = document.getElementById('email').value;
    name = document.getElementById('name').value;

    if ((name==="")|| (email=="") ) {
       document.getElementById('validateError').innerHTML="error text";


       return false;
    }
    else
  return true;

};

このロジックは最新の Chrome バージョンで機能しますが、Chrome 19 と Firefox でこれを試してみましたがfalse、それでもすぐに送信されます。何か案は?

4

3 に答える 3

0

これを試してください:

Java スクリプト

function validateForm(e) {

    email = document.getElementById('email').value;
    name = document.getElementById('name').value;

    if ((name=="")|| (email=="") ) {
       document.getElementById('validateError').innerHTML="error text";
       e.preventDefault();
    }


};

HTML

<form  onsubmit="validateForm(event)" method="post" action="t5.php">
于 2013-07-14T12:53:07.127 に答える
0

preventDefault()を使用して、フォームの送信を停止してみてください。

HTMLFormElement.submit()問題がなければ送信します。

于 2013-07-14T12:48:29.020 に答える