我一直试图找出为什么[['data1', 'data2', 'data3'], ['data1', 'data2', 'data3'], ['data1', 'data2', 'data3'], ['data1', 'data2', 'data3'], ['']]
不会在我的HTML联系表单中捕获任何输入字段。
我在几个小时后对其进行了整理,结果发现这是因为我$_POST
form
class
示例将工作:
"contact-form"
输出:<form id="main-contact-form" name="contact-form" method="post" action="sendemail.php" role="form">
<input type="text" name="name" class="form-control" required="required" placeholder="Name">
</form>
这不会:`
$_POST['name']; // This successfully catch the value
输出:<form id="main-contact-form" class="contact-form" name="contact-form" method="post" action="sendemail.php" role="form">
<input type="text" name="name" class="form-control" required="required" placeholder="Name">
</form>
JS:
$_POST['name']; // This doesnot catch the value
为什么会这样?
答案 0 :(得分:0)
用以下内容替换你的js片段:
<script>
var form = $('.contact-form');
form.submit(function () {
$this = $(this);
$.post($(this).attr('action'),{ name: $('input[name=name]').val() }, function(data) {
$this.prev().text(data.message).fadeIn().delay(3000).fadeOut();
},'json');
return false;
});
</script>
您需要指定传递参数!
您可以使用:
$.post($(this).attr('action'),$(this).serialize(), function(data) {...
发布所有表单控件。