jquery array push to php foreach


jquery array push to php foreach

我在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);
}

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

<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']);

看看这个。这应该给你一个基本的想法。