表单似乎已提交(到同一页面 - 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);
部分会弹出状态为 success
。
已更新
这是 contact.php 顶部的 PHP 部分
<?php
if(isset($_POST["message"])){
echo '<script>alert("some dummy text");</script>';
};
?>
这不仅是 echo 不打印任何内容,而且我无法访问已发布数据中的值。 PHPMailer 可以很好地处理手动为参数分配文本的情况。
最佳答案
如果$_POST返回空数据。确保您没有任何 htaccess 导致此问题。 我曾经遇到过这个问题。我的htaccess总是清空post数据。修改htaccess后我的问题就解决了。
关于php - JavaScript 表单已提交,但发布数据在 PHP 中不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17206059/