在Javascript中验证表单

时间:2013-03-20 02:05:50

标签: javascript

我正在为学校制作一个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"/>

1 个答案:

答案 0 :(得分:1)

它可能只是一个粘贴错误,但行

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

不太可能按照您的期望行事。我相信你想要else if那里。

如上所述,confirm会弹出,但它实际上并不控制任何内容的流量,所以下一段代码

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

无论如何都会发生。

现在,问你这个问题,我不知道这是你看到的错误。但是,您的代码至少存在一个问题。

相关问题