尽可能基本: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 :) 
?> 
+0

什么是不工作? – dockeryZ 2010-07-31 19:12:33

+0

'.serialize()'是一种方法,而不是属性。 – Harmen 2010-07-31 19:13:15

+0

所以再次,究竟是什么,它不工作 – dockeryZ 2010-07-31 19:15:55

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浏览器行为。

+0

哎呀,谢谢你。在这篇文章中只是一个错字,当我把它粘贴在这里时,我编辑得太过分了。 – Benji 2010-07-31 19:13:11

+0

他们不缺少任何括号!? .. – dockeryZ 2010-07-31 19:14:15

+0

@BenjiBee - 你的代码在这种情况下看起来没问题,但如果你已经大大简化了它,那么你可能已经编辑了这个问题。 – 2010-07-31 19:16:54