0
PHPコントローラに送信するチェックボックス(すべて同じ 'name'属性)があります。ここに私のマークアップの簡単な抜粋です:jQueryとPHPでチェックボックスをシリアライズする問題
<script type="text/javascript">
$(document).ready(function(){
$(".someButton").click(function(){
$.post("my_controller.php",$("#userForm").serialize());
});
});
</script>
<?php
echo '<form id="userForm">';
foreach($users as $user)
{
echo '<input name="user_id" value="'.$user->id.'">';
}
echo '</form>';
?>
私はその後、私のコントローラは、それがその後、foreach文を行うことができますモデルに統一配列として、これらの値を送信します。コントローラ・ロジックは、(私が思う)、このようなものでなければなりません:
foreach($_POST['user_id'] as $user_id)
{
$user_array[] = $user_id;
}
$this->model->method($user_array);
しかし、私は、私はそれが最初以外の任意の値を取得しないと思うので、「foreachのために供給無効な引数()」のようなエラーを得続けます。どこが間違っていますか?
私のjQueryコールを変更する必要がありますか?私がフォームを送信する唯一の方法は 'jQuery.post()'です。 – hohner
いいえ、jQueryコードを変更する必要はありません。 serialize()はそれだけで動作します。 – arnaud576875