gpt4 book ai didi

php - 在同一页面中提交表单时显示 ajax 成功或错误消息

转载 作者:行者123 更新时间:2023-11-28 01:51:03 25 4
gpt4 key购买 nike

我有一个简单的 html 表单,我将在其中发送邮件,还有另一个名为 ajax-form-submit.php 的文件,文件进程将在其中执行。现在我想通过 ajax 在 html 文件中显示成功或失败消息。所以我使用 jQuery 的 html 表单是这样的

<form name="ajaxform" id="ajaxform" action="ajax-form-submit.php" method="POST">
First Name: <input type="text" name="fname" value ="Ravi"/> <br/>
Last Name: <input type="text" name="lname" value ="Shanker" /> <br/>
Email : <input type="text" name="email" value="xx@xxx.com"/> <br/>
<input type="button" id="simple-post" value="Run Code" name="submit"/>
</form>

<div id="simple-msg"></div>

<script>
jQuery(document).ready(function() {
jQuery("#simple-post").click(function() {
jQuery("#ajaxform").submit(function(e) {
jQuery("#simple-msg").html("<img src='loading.gif'/>");
var postData = $(this).serializeArray();
var formURL = $(this).attr("action");
$.ajax( {
url : formURL,
type: "POST",
data : postData,
success:function(data, textStatus, jqXHR) {
jQuery("#simple-msg").html('<pre><code class="prettyprint">'+data+'</code></pre>');
},
error: function(jqXHR, textStatus, errorThrown)
{
$("#simple-msg").html('<pre><code class="prettyprint">AJAX Request Failed<br/> textStatus='+textStatus+', errorThrown='+errorThrown+'</code></pre>');
}
});
e.preventDefault(); //STOP default action
});

$("#ajaxform").submit(); //SUBMIT FORM
});

});
</script>

现在邮件将去往的 php 文件将是这样的

<?php
if (isset($_POST['submit'])) {
$name = $_POST['name'];
$lname = $_POST['lname'];
$email = $_POST['email'];
$ToEmail = 'test@demo.com';
$MESSAGE_BODY = "Name: ".$_POST["name"]."<br>";
$MESSAGE_BODY .= "Email: ".$_POST["email"]."<br>";
$mail = mail($ToEmail, $MESSAGE_BODY);
if($mail) {
echo "Mail sent successfully";
}
else {
echo "oops there is some error";
}
}
?>

我希望成功消息或错误消息应显示在 html 页面中。它只显示在 if (isset($_POST['submit'])) { 函数之外写入的任何消息,但这样做我无法显示成功消息或错误消息。那么有人可以告诉我该怎么做吗?任何帮助都会非常可观。谢谢。

最佳答案

HTML

<form name="ajaxform" id="ajaxform" action="ajax-form-submit.php" method="POST">
First Name: <input type="text" name="fname" id="fname" value ="Ravi"/> <br/>
Last Name: <input type="text" name="lname" id="lname" value ="Shanker" /> <br/>
Email : <input type="text" name="email" id="email" value="xx@xxx.com"/> <br/>
<input type="button" id="simple-post" value="Run Code" name="submit"/>
</form>
<div id="simple-msg"></div>

<script type="text/javascript">

jQuery("#simple-post").click(function() {

jQuery("#simple-msg").html("<img src='loading.gif'/>");
var formURL = $(this).attr("action");
var fname = $("#fname").val();
var lname = $("#lname").val();
var email = $("#email").val();
$.ajax({
url : formURL,
type: "POST",
data : {
aFname: fname,
aLname: lname,
aEmail: email,
aSubmit:"submit"
},
success:function(data, textStatus, jqXHR) {
jQuery("#simple-msg").html('<pre><code class="prettyprint">'+data+'</code></pre>');
},
error: function(jqXHR, textStatus, errorThrown){
$("#simple-msg").html('<pre><code class="prettyprint">AJAX Request Failed<br/> textStatus='+textStatus+', errorThrown='+errorThrown+'</code></pre>');
}
});
});
</script>


PHP

if (isset($_POST['aSubmit'])) {
$name = $_POST['aFname'];
$lname = $_POST['aLname'];
$email = $_POST['aEmail'];
$ToEmail = 'test@demo.com';
$MESSAGE_BODY = "Name: ".$_POST["aFname"].' '.$_POST["aLname"]."<br/>";
$MESSAGE_BODY .= "Email: ".$_POST["aEmail"]."<br/>";
$mail = mail($ToEmail, $MESSAGE_BODY);
if($mail) {
echo "Mail sent successfully";
}
else{
echo "oops there is some error";
}
}

注意:_我想在这里提一下,我没有在这里展示任何防止 SQL 注入(inject)或任何其他类型的漏洞预防的努力,因为这会增加复杂性你。但是,请确保在将此类代码发布到实时网站之前,您已尽一切努力阻止您的网站。_

关于php - 在同一页面中提交表单时显示 ajax 成功或错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20022425/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com