我正在为学校制作一个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"/>
答案 0 :(得分:1)
它可能只是一个粘贴错误,但行
else (confirm("Are you sure you want to add this driver?")== true)
不太可能按照您的期望行事。我相信你想要else if
那里。
如上所述,confirm
会弹出,但它实际上并不控制任何内容的流量,所以下一段代码
{
window.location = 'add_driver.php';
}
无论如何都会发生。
现在,问你这个问题,我不知道这是你看到的错误。但是,您的代码至少存在一个问题。