尽可能基本:jQuery联系表格
问题描述:
我想创建一个非常基本的联系表单。我已经使用我所了解的语言知识编写了HTML,Javascript和PHP,但它显然不起作用。少了什么东西?尽可能基本:jQuery联系表格
的HTML:
<form>
<fieldset>
<fieldset>
<input name="name" value="John Doe" size="30" /><br />
<input name="email" value="[email protected]" size="40" /><br />
</fieldset>
<fieldset>
<input type="text" name="subject" value="Subject" size="60" /><br />
<textarea name="message" rows="15" cols="100"></textarea><br /><br />
<input type="submit" value="Submit" />
<input type="button" value="Cancel" />
</fieldset>
</fieldset>
</form>
的JavaScript:
$('form').submit(function() {
$.ajax({
type: "POST",
url: "bin/process.php",
data: $(this).serialize(),
success: function() {
// Update page with success message
}
});
return false;
});
的PHP:
<?php
$recipient = "[email protected]"; //recipient
$Name = ($_POST['name']); //senders name
$email = ($_POST['email']); //senders e-mail adress
$mail_body = ($_POST['message']); //mail body
$subject = ($_POST['subject']); //subject
$header = "From: ". $Name . " <" . $email . ">\r\n"; //optional headerfields
mail($recipient, $subject, $mail_body, $header); //mail command :)
?>
答
UPD吃了编辑的问题/评论:
你确定你的代码在document.ready
处理程序运行?是这样的:
$(function() {
$('form').submit(function() {
$.ajax({
type: "POST",
url: "bin/process.php",
data: $(this).serialize(),
success: function() {
// Update page with success message
}
});
return false;
});
});
从您的意见,似乎你的.submit()
handler不是七拼八凑的一切,它正在执行默认的GET浏览器行为。
什么是不工作? – dockeryZ 2010-07-31 19:12:33
'.serialize()'是一种方法,而不是属性。 – Harmen 2010-07-31 19:13:15
所以再次,究竟是什么,它不工作 – dockeryZ 2010-07-31 19:15:55