如果form class =“contact-form”,则无法获取$ _POST []值

时间:2015-12-10 05:02:19

标签: php html forms post

我一直试图找出为什么[['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

为什么会这样?

1 个答案:

答案 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) {...

发布所有表单控件。