それぞれに対応するチェックボックスが付いた学生のリストがあります。チェック ボックスの値には、コントローラー関数に渡す必要がある学生 ID が含まれています。チェックボックスのチェックされた値を検出し、それをjavascript配列変数に保存するjavascriptコードがあります。次に、javascript 配列変数が $.window url に渡され、url アドレスが私の codeigniter コントローラー関数に向かいます。これは、最初の学生を選択すると正常に機能し、var_dump メソッドを介して学生 ID が表示されますが、2 番目または 3 番目などの学生が選択された場合、送信した uri には許可されていない文字が含まれていると表示されます。すべてのチェック ボックスをオンにしたときと同じ応答。javascript 配列変数は、学生リストの最初の値のみを取得して、単一の値のみを codeigniter コントローラー関数に渡したようです。$.window. 画像とコードを以下に示します。どうもありがとう。
最初の生徒リストのみを選択する画像
メール送信ボタンクリック後のコントローラ出力イメージ
2次生を選ぶイメージ
メール送信ボタンクリック後のコントローラ出力イメージ
全生徒リストの選択画像
メール送信ボタンクリック後のコントローラ出力イメージ
Javascript:
<script type="text/javascript">
$("#send_email").click(function(){
var cboxes = document.getElementsByName('student_id[]');
var checked_val= [];
var unchecked_val=[];
var len = cboxes.length;
for (var i=0; i<len; i++) {
(cboxes[i].checked) ? checked_val[i]=cboxes[i].value:unchecked_val[i]=cboxes[i].value;
}
$.window({
title: "Coursebooking",
url: "<?php echo base_url() ?>student_controller/pop_val/"+checked_val,
});
});
</script>
コントローラ:
function pop_val(){
$stud_id = $this->uri->segment(3);
var_dump($stud_id);
}