我正在尝试理解表单是如何工作的,到目前为止我了解到我可以通过
提交表单并刷新到同一页面> action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"
然后捕获错误或没有空白输入。
但是,让我们说我在页面中有锚点(换句话说就像#ContactUs一样)如何使用操作刷新页面以到达特定位置而不是返回到页面顶部?< / p>
提前感谢所有人
以下是代码的一部分:
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
<h2>SEND US A MESSAGE!</h2>
<span>We'd be happy to hear from you.</span>
<input name="contactname" placeholder="Name" type="text" value="<?php echo $contactname;?>"/> <span class="error"> <?php echo $contactnameErr;?></span>
<input name="contactemail" placeholder="Email" type="text" value="<?php echo $contactemail;?>" /><span class="error"> <?php echo $contactemailErr;?></span>
<input name="contactphone" placeholder="Phone #" type="text" value="<?php echo $contactphone;?>" /><span class="error"> <?php echo $contactphoneErr;?></span>
<input name="contactsubject" placeholder="Subject" type="text" value="<?php echo $contactsubject;?>" /><span class="error"> <?php echo $contactsubjectErr;?></span>
<textarea name="contactmessage" placeholder="Message"><?php echo $contactmessage;?></textarea><span class="error"> <?php echo $contactmessageErr;?></span>
<input type="submit" name="submit" value="Send" class="contact-button" />
</form>
答案 0 :(得分:0)
你可以使用我在下面给出的jQuery
<?php
if(isset($_POST['submit']))
{
//
//sql query and display
//
?>
<script>
$(function() {
$('html, body').animate({
scrollTop: $("#contactus").offset().top
}, 2000);
});
</script>
<?php
}
?>
答案 1 :(得分:0)
您应该对其进行验证,例如
<?php
if(isset($_POST['submit'])){
//then do something
header("Location: #contactus");
}
?>
所以这种方式即使你加载,它也不会给你空,也不会要求你重新提交