我在这里见过许多类似的问题,但我对JS/AJAX/jQuery或PHP没有足够的知识,无法理解如何将其转换为我的问题的解决方案。
我有一个联系形式,链接到contact.php实际发送的电子邮件。它目前正在运行,但它将用户带到PHP页面,而不是像我希望的那样在同一页上显示“已发送的消息”。
只是为了澄清一下:我希望PHP回显的结果直接显示在HTML页面上的表单下面。
Contact.php http://pastie.org/8416873
发布于 2013-10-20 18:21:56
如果您使用jQuery,则可以从表单中删除该操作,并执行以下操作:
HTML:
<form class="contact_form" method="post" name="contact_form">
<ul>
<li>
</li>
<li>
<label for="name">Name:</label>
<input type="text" name="name" placeholder="John Doe" required />
</li>
<li>
<label for="email">Email:</label>
<input type="email" name="email" placeholder="JohnDoe@Email.com" required />
</li>
<li>
<label for="message">Message:</label>
<textarea name="message" cols="40" rows="6" required ></textarea>
</li>
<li>
<button class="submit btn btn-default" type="submit">Send Message</button>
</li>
</ul>
</form>
<div class="targetDiv"></div>
和javascript:
function formSubmit(e){
e.preventDefault(); //This will prevent the default click action.
var frm = $('.contact_form'),
data = JSON.stringify(frm.serializeArray());
$.ajax({
type: "POST",
url: "contact.php",
data: data,
success: function() {
$('.targetDiv').text('Your message has been sent!');
},
error: function() {
//your error message here
}
});
return false;
}
}
https://stackoverflow.com/questions/19480912
复制相似问题