我在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);
}
答案 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.这应该给你基本的想法。