-1

ユーザー名とパスワードの有効性を確認するためにloginproc.phpに送信するログインフォームを持つログインページを作成し、すべてが完全に機能していました。とにかく、ログイン ページで、ユーザー名とパスワードのフィールドが空の場合にユーザーに警告する JavaScript 関数を作成しました。それを行った後、JavaScript は正常に動作しますが、送信ボタンをクリックしても何も起こりません!

------------------------------これはJavaScriptです------ ----------------

<script type='text/javascript'>

function formValidator(){
    // Make quick references to our fields
    var username = document.getElementById('username');
    var password = document.getElementById('password');


    // Check each input in the order that it appears in the form!
    if(notEmpty(username, "The username field is empty!")){
        if(notEmpty(password, "The password is empty!")){

        }
    }

    return false;

}

function notEmpty(elem, helperMsg){
    if(elem.value.length == 0){
        alert(helperMsg);
        elem.focus(); // set the focus to this input
        return false;
    }
    return true;
}
</script>

------------------------------ フォームはこちら------ ----------------

<form method="post" action="loginproc.php" onsubmit="return formValidator()" >


<tr><td colspan="3"><img src="icons/login.jpg" alt="Edugate" width="366" height="123"></td></tr>
<tr><td colspan="3" nowrap bgcolor="#990033" class="infoTitle"><div align="center"></div></td></tr>
<tr><td colspan="3" nowrap class="infoTitle"><div align="left">user login </div></td></tr>
<tr><td colspan="3" nowrap bgcolor="#990033" class="infoTitle"><div align="center"></div></td></tr>
<tr><td width="58">Username</td>
<td width="4">:</td>
<td width="297"><input type="text" id="username" name="username" size="20"></td></tr>
<tr><td>Password</td><td>:</td><td><input type="password" id="password" name="password" size="20"></td></tr>
<tr><td>&nbsp;</td><td>&nbsp;</td><td><input type="submit" class="BtnInTable" value="Login"></td></tr>
<?php if ($error == 1)
print "<tr><td colspan='3' class='ppos'><img src='icons/error.png' alt='error'> Icorrect usename or password...</td></tr>";?>
<tr><td colspan="3" nowrap bgcolor="#990033" class="infoTitle"><div align="center"></div></td></tr>
</form>

親切に、誰でも私を案内してもらえますか。よろしくお願いします

4

3 に答える 3

2

を忘れました。別の場所return true;に移動しreturn false;ます。

    // Check each input in the order that it appears in the form!
    if(notEmpty(username, "The username field is empty!")){
        if(notEmpty(password, "The password is empty!")){
                return true;
        }
    }
于 2012-08-29T07:10:02.633 に答える
1

ここに問題があります。この関数はFALSEのみを返します。no return trueステートメント..フォームを送信するには、「onsubmit」はtrueを返す必要があります:)

于 2012-08-29T07:12:35.487 に答える
1

formValidator() は常に false を返します。onsubmit に false を返すと、送信されません。すべてが有効な場合は、必ず true を返します。

于 2012-08-29T07:10:10.003 に答える