HTML表单使用JS验证电子邮件,验证工作,但表单仍然提交
HTML Form using JS to validate Email, Validation works but form still submits
我试图验证使用php发送表单信息到一组电子邮件的表单的电子邮件字段。我正在使用Javascript来验证电子邮件,它正在工作。
问题是,即使在验证返回false后,表单仍然处理信息并发送电子邮件,我想要一些指导,因为我找不到我正在制作的错误。
这是我使用的HTML代码的形式:
<form id="formulario-submit" onsubmit="return Validacion();" action="procesarsolicitud.php" method="POST">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<input type="text" value="Nombre*" id="nombre" name="nombre" onclick='this.value = "";'>
</td>
</tr>
<tr>
<td>
<input type="text" value="Apellido*" id="apellido" name="apellido" onclick='this.value = "";'>
</td>
</tr>
<tr>
<td>
<!--<input type="submit" value="Enviar" id="enviar" alt="enviar">-->
<button name="enviar" value="Submit" type="submit" id="enviar" alt="enviar" width="100">
这是我用来验证电子邮件的JS代码:
<script>
function Validacion()
{
var x=document.forms["formulario-submit"]["email"].value;
var arroba=x.indexOf("@");
var punto=x.lastIndexOf(".");
if (arroba<1 || punto<arroba+2 || punto+2>=x.length)
{
alert("Not a valid Email.");
email.focus();
return false;
}
}
</script>
这是我用来处理数据和发送电子邮件的PHP代码(在一个单独的PHP文件procesarsolicitudd . PHP上):
$nombre = $_POST['nombre'];
$apellido = $_POST['apellido'];
$email = $_POST['email'];
$message = '
<html>
<head>
<title></title>
</head>
<body>
<h3>Form Data::</h3>
<tr>
<td width="200"><b>Nombre:</b></td>
<td>'.$nombre.'</td>
</tr>
<tr>
<td width="200"><b>Apellido:</b></td>
<td>'.$apellido.'</td>
</tr>
<tr>
<td width="200"><b>Email:</b></td>
<td>'.$email.'</td>
</tr>
<tr>
</tr>
</table><br />
</body>
</html>
';
// multiple recipients
$to='email1@email.com,email2@email.com';
// subject
$subject = ' Email Subject';
$headers = 'MIME-Version: 1.0' . "'r'n";
$headers .= 'Content-type: text/html; charset=utf-8' . "'r'n".
'From: Email <info@email.com>' . "'r'n";
echo "MessageExample";
// Mail it
mail($to, $subject, $message, $headers);
首先就不应该使用JS来验证表单。准确地说……如果您这样做,您还必须检查输入服务器端(您也可以使用AJAX调用来验证服务器端的表单,然后您可以重用相同的杀毒器/验证器)。
关于你的具体问题,SOF"问问题"不是一个搜索引擎。在提问之前,你应该花点时间仔细观察。你的问题已经被问到(例如,从谷歌的第一个结果"onsubmit表单返回false"http://webdeveloper.com/forum/showthread.php?t=175736;sofonsubmit的第一个结果返回false(不工作)。
注。如果有任何错误,请检查控制台(参考Firebug获取更多信息)。
相关文章:
- 解析javascript表单验证器
- Jquery表单验证插件-如果选中复选框,如何在提交时执行某些操作
- 自定义表单验证和提交
- Javascript表单验证的缺点
- Jquery的表单验证不起作用
- 语义ui表单验证:图像url
- jQuery表单验证适用于Mozilla和Internet Explorer,但不适用于Chrome或Safari
- JavaScript表单验证-“;“错误”;不按需要工作
- Mailchimp内联表单验证不适用于JS加载的HTML
- jQuery/JS获胜't在表单验证后重定向
- jquery表单验证复选框错误显示
- javascript表单验证-数值和密码
- 我想知道如何在javascript中进行表单验证
- jQuery表单验证(如果==“执行此操作”)仅适用于第一次输入
- 使用记录保存的消息进行表单验证
- 表单验证工作不正常,在不检查条目的情况下继续
- 如何对未知表单元素进行表单验证
- 使用ajax、php和mysql进行表单验证
- JS表单验证未发生
- 表单验证jsphp路径