通过POST将输入数组值发送到php

Sending input array values by POST to php

本文关键字:php 数组 POST 输入 通过      更新时间:2023-09-26

我正在尝试读取输入数组的值,并将它们传递给我的后端PHP,但无法正常工作。我有以下html:

<input name='field[]' class='myclass' value='test1'>
<input name='field[]' class='myclass' value='test2'>
<input name='field[]' class='myclass' value='test3'>
<input id='post_this_val' type='button' value='Post'>

我想在jQuery中读取这些值,并将这些值POST到我的后端PHP,然后它将处理结果。这就是我所做的:

$('#post_this_val').live('click', function () {
    var inpVal = $('input.myclass').map(function(i, el) {
                            return el.value;
                    });
    $.post('/my/php/function', {data: inpVal});
});

上面的POST不起作用——我的php函数甚至没有被调用,页面只是在单击POST按钮时重新加载。请提出建议。

获取表单值的最简单方法是将这些输入封装在表单中,绑定提交事件,并使用.serialize()方法。使用此方法的好处是,如果您有一个输入类型为text和submit的表单,无论用户是使用enter还是单击submit按钮提交,都会调用处理程序。

html:

<form id="myForm">
   <input  name='field[]' class='myclass' value='test1'>
   <input name='field[]' class='myclass' value='test2'>
   <input name='field[]' class='myclass' value='test3'>
   <input id='post_this_val' type='button' value='Post'>
</form>

js:

$('#myForm').live('submit', function(e) {
   $.post('/my/php/function', $(this).serialize());
   e.preventDefault();
   return false;
});

为了增加andreas的好答案,有时,复杂的问题是由最简单的错误引起的。

一旦你检查了语法和所有内容,我建议你安装Firebug来检查到底发生了什么

在Firebug的网络面板上,你可以看到帖子是否成功,是否有回应。

在这种情况下,错误可能是从URL拼写错误到变量拼写错误等几方面造成的。

Firebug将帮助识别这些错误,而不管原因是什么。

希望这能有所帮助!

祝你好运!