jquery数组推送到php foreach

时间:2014-11-17 12:00:41

标签: php jquery html arrays

我在php中收到此错误:

Invalid argument supplied for foreach()

我想在jquery中为输入值

创建一个数组
<input type="text" class="passenger">
<input type="text" class="passenger">
<input type="text" class="passenger">

然后js是:

var passengers = new Array();

$('.passenger').each(function(){
    if($(this).val() == " "){
        passengers.push(JSON.stringify($(this).val()));
    }
});

然后在我发布到php之后,我想要它,所以我显示所有乘客

此刻,这不起作用。为什么不

foreach($passengers as $pass){
    $each_passengers = json_decode($pass);
}

1 个答案:

答案 0 :(得分:2)

实际上,您不需要对每个输入进行字符串化。首先需要做的是在表单输入中创建分组名称属性:

<input type="text" name="input[]" class="passenger" value="test1" />
<input type="text" name="input[]" class="passenger" value="test2" />
<input type="text" name="input[]" class="passenger" value="test3" />

然后,在$.post()中。只需使用$(form).serialize()

序列化它们即可
$.post('myphp_process.php', $('#form_values').serialize(), function(response){

然后当然是将处理它的PHP,只需将其视为正常的POST:

$inputs = $_POST['input']; // this will return an array of inputs and to access this you need a loop.

// for clarity print_r($_POST['input']);

Check this out.这应该给你基本的想法。