【发布时间】:2013-06-20 05:38:02
【问题描述】:
似乎表单提交(到同一页面 - contact.php),但我不能使用发布的数据,例如 $_POST["message"] 。似乎它们是空的(我试图回应它们但没有打印出来)。
这是 JavaScript(在页面的头部):
$(document).ready(function (){
$('#contactform').submit(function(){
var action = $(this).attr('action');
$.post("contact.php", {
name: $('#name').val(),
email: $('#email').val(),
company: $('#company').val(),
subject: $('#subject').val(),
message: $('#message').val()
}, function(data,status){
alert("status = " + status);
$('#contactform #submit').attr('disabled','');
if(data=='Message sent!') $('#contactform').slideUp();
});
return false;
});
});
这是表格:
<form action="contact.php" method="post" id="contactform">
<ol>
<li>
<label for="name">First Name <a href="#">*</a></label>
<input name="name" id="name" class="text">
</li>
<li>
<label for="email">Your e-mail <a href="#">*</a></label>
<input id="email" name="email" class="text">
</li>
<li>
<label for="company">Company Name</label>
<input id="company" name="company" class="text">
</li>
<li>
<label for="subject">Subject<br>
</label>
<input id="subject" name="subject" class="text">
</li>
<li>
<label for="message">Message <a href="#">*</a></label>
<textarea id="message" name="message" rows="6" cols="50"></textarea>
</li>
<li class="buttons">
<input type="image" name="submitbtn" id="submitbtn" src="images/but_send_message.gif">
</li>
</ol>
</form>
javascript 上的alert("status = " + status); 部分会弹出sucess 的状态。
更新
这是contact.php顶部的PHP部分
<?php
if(isset($_POST["message"])){
echo '<script>alert("some dummy text");</script>';
};
?>
不仅 echo 不打印任何内容,而且我无法访问已发布数据中的值。 PHPMailer 可以很好地手动分配文本到参数。
【问题讨论】:
-
您还必须发布 PHP。您在哪里回显 POST 变量,您希望它们在哪里打印出来?
-
看起来不错,你可以试试
$('#contactform').serialize()吗? -
并且在Form中,没有提交按钮。如何提交表单?
-
不用问了,放php代码查吧。
-
@Akilan - 输入类型图片有效,将提交表单。
标签: php jquery forms form-submit