0

私は学校用のphpファイルに取り組んでおり、姓、名、電子メールのjavascript検証を行う必要があります。すべて問題なければ、ドライバーを追加するかキャンセルするかを選択できます。何か問題がある場合は、フォームに戻ります。小さなページで検証スクリプトを実行し、そこで動作するようにしましたが、php ファイルに配置すると動作しなくなります。コードの一部を次に示します。

<script type = "text/javascript" >
function val_name()
{
    var namePattern = /^[A-Za-z]{3,25}$/;
    if( !namePattern.test(document.upload.fn.value))
            alert("Enter valid first name");

    if( !namePattern.test(document.upload.ln.value))
        alert("Enter valid last name");

    var x=document.forms["upload"]["email"].value;
    var atpos=x.indexOf("@");
    var dotpos=x.lastIndexOf(".");

    if (atpos < 1 || dotpos < atpos + 2 || dotpos + 2 >= x.length)
    {
        alert("Not a valid e-mail address");
        return false;
    }
    else (confirm("Are you sure you want to add this driver?")== true)
    {
        window.location = 'add_driver.php';
    }
}
</script>

    <form id="upload" action="<?php echo $_SERVER['php_self'];?>" method="post" enctype="multipart/form-data" onsubmit="val_name()">

This is part of the html - the email part of it

<td>
email
</td>
<td>
<input type="text" id="email" name="email"/>
</td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" id="add_driver" name="add_driver" value="add_driver" />
<input type="reset" value="clear form"/>
4

1 に答える 1

1

貼り付けエラーの可能性がありますが、行

else (confirm("Are you sure you want to add this driver?")== true)

あなたが期待することをしていない可能性があります。私はあなたelse ifがそこに欲しいと信じています。

書かれているように、confirmがポップアップしますが、実際には何の流れも制御しないので、次のコードブロック

{
    window.location = 'add_driver.php';
}

関係なく起こります。

さて、あなたの質問はそのままですが、これがあなたが見ているエラーであるかどうかはわかりません。ただし、コードには少なくとも1つの問題があります。

于 2013-03-20T02:11:54.757 に答える