我的Javascript验证未激活时出现问题。我在这个HTML表单上也有一个PHP邮件程序,一旦按下提交,它就提交表单并且不进行验证。JavaScript验证不激活可能是由于HTML邮件上的PHP邮件
下面是HTML形式的代码:
<form name="contact" action="mailer.php" onsubmit="return ValidateForm()" method="post"><fieldset>
<tr><td><label for="name">Name:</label></td>
<td><input type="text" name="name" id="name" placeholder="Enter your full name" />
</td></tr>
<tr><td><label for="email">Email:</label></td>
<td><input type="email" name="email" id="email" placeholder="Enter your email address" />
</td></tr>
<tr><td><label for="tel">Phone:</label></td>
<td><input type="tel" name="tel" id="tel" placeholder="Enter your phone number" />
</td></tr>
<tr><td><label for="message">Message:</label></td>
<td><textarea id="message" name="message" placeholder=""></textarea>
</td></tr>
<tr><td><input type="submit" value="Submit" name="submit" />
</form>
下面是PHP邮包的代码:
<?php
if(isset($_POST['submit'])) {
$to = "[email protected]";
$subject = "Subject";
$name_field = $_POST['name'];
$email_field = $_POST['email'];
$tel_field = $_POST ['tel'];
$message = $_POST['message'];
$body = "From: $name_field\n E-Mail: $email_field\n Phone: $tel_field\n Message:\n $message";
mail($to, $subject, $body, "From: $email_field");
echo "Data has been submitted to $to!";
echo "<a href='index.html'>Go back to Home Page</a>";
} else {
echo "error";
}
?>
下面是验证的代码:
<script type="text/javascript">
{function validateForm()
{
var x=document.forms["contact"]["name"].value;
if (x==null || x=="")
{
alert("Name field must be filled out");
return false;
}
var x=document.forms["contact"]["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;
}
var x=document.forms["contact"]["tel"].value;
if (y==null || y=="")
{
alert("Phone number must be provided");
return false;
}
var x=document.forms["contact"]["message"].value;
if (x==null || x=="")
{
alert("You have not entered a message");
return false;
}
</script>
我已经尝试把JavaScript验证器作为一个单独的文件在服务器或脚本本身的形式HTML文档似乎并不奏效。我做了很多搜索并检查了代码,并且非常确定它是正确的,但无法找到任何可以说明这两个函数是否可以一起使用的内容。如果有人可以确认它会很棒!
任何意见将不胜感激!
在此先感谢!
卡兹
什么时候validateForm()被调用? – 2013-04-04 10:37:24
是否有任何javascript错误?您可以在Chrome浏览器或Firebug调试器中捕获它们... – Svetoslav 2013-04-04 10:37:25
向我们展示