我的第一篇帖子很温柔...... 我有一个PHP联系表单,在php页面上(contact.php)
<form id="contact" method="post" action="send.php">
单击“发送”按钮后,数据将转至send.php脚本进行验证。如果通过验证,则用户会查看sent.html页面,其中显示消息&#34;您的消息已发送 - 谢谢您&#34;显示
$message = "Your Message Has Been Sent - Thank You";
include "sent.html";
但是,如果验证失败,例如,如果某个字段留空,则验证将失败发送&amp; $ message显示在表单内,返回到contact.php ...
上if ((!$fname) OR (!$lname) OR (!$email) OR (!$enquiry))
{
$message = "ERROR: ALL FEILDS MARKED * MUST BE COMPLETED";
include "contact.php";
exit();
该消息显示在contact.php页面表格上:
<?php
print "$message";
?>
这是可操作的,但表单位于页面的中间位置,用户必须向下滚动才能查看可能错过的错误发送消息,并且查看效果不佳...如何确保验证失败? contact.php页面显示在页面顶部的表格?我可以应用锚点,方法或返回表单ID吗?提前谢谢。
更新: 对不起,我应该说,在send.php脚本中还有其他验证,表单action = send.php转到不允许网址的每个字段和&amp;验证电子邮件字段等所以我想我希望我可以修改下面的代码,通过表格ID重定向到锚点,在contact.php页面上:
if ((!$fname) OR (!$lname) OR (!$email) OR (!$enquiry))
{
$message = "ERROR: ALL FEILDS MARKED * MUST BE COMPLETED";
include "contact.php";
exit();
}
更新:谢谢大家的时间和时间。评论,非常感谢。我最终创建了一个仅保存表单的新页面,并修改了send.php以显示以下内容:
if ((!$fname) OR (!$lname) OR (!$email) OR (!$enquiry))
{
$message = "ERROR: ALL FEILDS MARKED * MUST BE COMPLETED";
include "newform.php";
exit();
}
不是我所知道的最好,但工作原理相同,我认为如果用户想填写表格,至少他们面对的是显示错误信息的表格,便于查看。我确实尝试过使用
onsubmit="document.location.href='http://fullurl/contact.php#formtop'"
这部分成功,因为在滚动到页面顶部之前,玩具可以看到表格聚焦在一个第二个缝的锚点上,我想onsubmit一直工作直到发送到send.php脚本吹出水面。 @ Sergey:sent.html是一种让用户知道邮件被发送的懒惰方式,这个html页面没有显示表单,因为清除表单,发布成功验证后我不知道...我&#39 ; ma前端设计师,不是像你们这样的编码器。 干杯 达伽兹