PHP&;表单刷新
我正在构建一个表单,并使用PHP处理对邮件客户端的请求。现在,当用户提交表单时,我不希望页面刷新,也不希望页面一直返回顶部 我希望它提交,然后张贴消息,我已经提供了这是在同一个地方的形式没有刷新。也许是阿贾克斯 这是密码 PHPPHP&;表单刷新,php,html,forms,Php,Html,Forms,我正在构建一个表单,并使用PHP处理对邮件客户端的请求。现在,当用户提交表单时,我不希望页面刷新,也不希望页面一直返回顶部 我希望它提交,然后张贴消息,我已经提供了这是在同一个地方的形式没有刷新。也许是阿贾克斯 这是密码 PHP Ajax是一个不错的选择。 创建一个接受post参数并返回JSON的php文件 <?php /* your mail code */ if (all_good) { echo(json_encode(array('success' => true));
Ajax是一个不错的选择。
创建一个接受post参数并返回JSON的php文件
<?php
/* your mail code */
if (all_good) {
echo(json_encode(array('success' => true));
} else {
echo(json_encode(array('success' => false));
}
?>
解析从PHP发送的JSON数据。
我建议使用jQuery.post()而不是XHR。你的直觉是正确的。如果您想在不刷新页面或导航离开的情况下向服务器发布表单并从服务器读取响应,您应该查看AJAXI将对此进行查看。对于所有的处理仍然是相当新的。我不太确定如何使用JSON,但我会看看。
<span class="thanksmessage text-faded"><?php echo $messageaftersending ?></span>
<div class="<?php echo $hidemydiv ?>">
<div class="row">
<div class="formstyle">
<form role="form" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" name="myemailform" method="post">
<div class="col-lg-4 labels">
<fieldset class="form-group">
<label class="labels" for="firstname">First Name*</label>
<input type="text" name="first_name" class="form-control styled" required pattern="[a-zA-Z0-9s\-\s]+" onkeyup="" id="firstname" pattern="[a-zA-Z0-9]+">
</fieldset>
<span class="error"><p id="name_error"></p></span>
</div>
<?php
/* your mail code */
if (all_good) {
echo(json_encode(array('success' => true));
} else {
echo(json_encode(array('success' => false));
}
?>
var data = JSON.parse(response.text)