验证HTML联系人表单
Validate a HTML Contact Form
我有一个HTML联系人表单,需要以某种方式进行验证。
如果有任何字段没有填写,我宁愿在留空的字段下面显示"字段必填"字样,而不是用JavaScript提醒用户。
这是我的联系表格contact.html
:
<form id = "myForm" action="contact.php" method="post">
<label for="name">Name:</label>
<input type="text" name="name" id="name" value="" tabindex="1" />
<label for="name">Email:</label>
<input type="text" name="email" id="email" value="" tabindex="1" />
<input type="submit" value="Submit" class="button" />
</form>
这是我的PHP表单contact.php
(除了验证之外,所有内容都省略了):
//Validation... I am building up an error message string to alert the user at the end (omitted)
$errormessage = '';
if(!isset($_POST['name']) || strlen($_POST['name']) < 1){
$errormessage .= 'You have not entered your Name'n';
}
if(!isset($_POST['email']) || strlen($_POST['email']) < 1){
$errormessage .= 'You have not entered your Email Address'n';
}
if($errormessage != ''){ ?>
<script language="javascript" type="text/javascript">
alert('<?php echo "$errormessage" ?>');
window.location = 'contact.html';
</script>
<?php }
else {
$mail_to = 'info@email.co.uk';
$subject = 'Message from a site visitor '.$field_name;
$body_message = 'From: '.$field_name."'n'n";
$body_message .= 'E-mail: '.$field_email."'n'n";
$headers = 'From: '.$field_email."'r'n";
$headers .= 'Reply-To: '.$field_email."'r'n";
$mail_status = mail($mail_to, $subject, $body_message, $headers);
}
正如你所看到的,我当前的验证在PHP中构建了一个字符串,该字符串将在末尾提醒用户(省略)。然而,我想通过在HTML字段下面显示字符串"Field Required"来替换这个方法,这些字段一直为空。
如果您可以使用一些html5功能,另一个选项是在输入上设置所需的属性。
必需
此属性指定用户在提交表单之前必须填写一个值。当类型属性为隐藏、图像或按钮类型(提交、重置或按钮)时,不能使用此属性。:optional和:required的CSS伪类将根据需要应用于字段。
取自https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Input
所以你的html会变成:
<form id = "myForm" action="contact.php" method="post">
<label for="name">Name:</label>
<input type="text" name="name" id="name" value="" tabindex="1" required />
<label for="name">Email:</label>
<input type="text" name="email" id="email" value="" tabindex="1" required />
<input type="submit" value="Submit" class="button" />
</form>
我想在不偏离你的方法的情况下回答你的问题。
如果contact.html可以被php解析,或者它被简单地更改为contactform.php,那么您可以向它发送一个查询字符串,指示哪些字段有错误,并在它们下面显示一条消息。
contactform.php
<form id = "myForm" action="contact.php" method="post">
<label for="name">Name:</label>
<input type="text" name="name" id="name" value="" tabindex="1" />
<?php if (isset($_GET['name']) && $_GET['name'] == 1) {
echo '<br/>This field is required.';
} ?>
<label for="name">Email:</label>
<input type="text" name="email" id="email" value="" tabindex="1" />
<?php if (isset($_GET['email']) && $_GET['email'] == 1) {
echo '<br/>This field is required.';
} ?>
contact.php
$error = FALSE;
$errors = array();
if(!isset($_POST['name']) || strlen($_POST['name']) < 1){
$error = TRUE;
$errors[] = 'name=1';
}
if(!isset($_POST['email']) || strlen($_POST['email']) < 1){
$error = TRUE;
$errors[] = 'email=1';
}
$geterrors = (count($errors) > 1 ? implode('&',$errors) : $errors[0]);
if($error){ ?>
<script language="javascript" type="text/javascript">
window.location = 'contactform.php?<?php echo $geterrors; ?>';
</script>
...
相关文章:
- 在验证和发送邮件后更改联系人表单的 html
- 在联系人表单中实现jQueryAJAX
- jquery.validator和一个页面上的两个联系人表单将在提交时验证空表单
- PHP&jQuery联系人表单错误
- Javascript按钮,它提交联系人表单7表单,然后重定向到URL
- 我正在验证一个联系人表单.我是不是过滤太多了
- 防止联系人表单在提交后消失
- PHP Angular JS联系人表单将't张贴
- 如何在联系人表单7 Wordpress中添加自定义javascript函数
- 如何使javascript联系人表单正确提交
- 在联系人表单中显示隐藏警告被延迟
- 基于AJAX的联系人表单7事件跟踪新的谷歌分析代码
- 映射的联系人表单在Jquery-1.11中无法正常工作
- 激活联系人表单上的输入字段需要在手机上点击2次
- 始终显示联系人表单中的问题成功消息
- HTML5,CSS3,PHP联系人表单不发送信息+添加必填字段
- 联系人表单-提交按钮不起作用
- 加载表单时在警报框中显示父联系人任务
- 如何使用JS清理联系人表单后删除HTML5表单验证
- Ajax表单联系人(jquery)