• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:checkboxクリック時、SQLを実行し、ボタンの有効・無効を判定する方法について)

checkboxクリック時、SQLを実行し、ボタンの有効・無効を判定する方法について

このQ&Aのポイント
  • checkboxクリック時にSQLを実行し、ボタンの有効・無効を判定する方法について相談です。
  • 現在はデータベースの最終行の値を使用してボタンの有効・無効を決定していますが、3つのcheckboxがある場合にはそれぞれの行の値を参照したいと考えています。
  • 質問者はSQLを予め実行せず、checkboxクリック時に実行したいと思っていますが、具体的な方法がわからないとのことです。

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

補足になりますが >多分phpで出来そうかなという気はするのですが。 SQLのインタラクティブな発行はajax以外はよほどのことがない限り 無理だと考えた方がよいです。 ですのでajaxを想定していないのであれば、本件は仕様のままでは 実現は不可能だとおもってください。 もちろん、ページ全体を再読み込みしていいなら話は別ですが。 >whereで取得する方法などを考えています。 whereで結果を限定するのは賢明です ただし結果が常に1つしかないのであればwhileでまわす必要は ないですね まだフローの練りこみがかなり足りないと思います。 もう少し設計段階できちんとしないと、運用で苦労しますよ

iroha_168
質問者

お礼

ありがとうございます。 SQLのインタラクティブな発行はajax以外無理と考えた方が良いのですね。 勉強になりました。 ちなみにajax以外無理と思われる理由をご存知でしたら、ご教授いただいてもよろしいでしょうか? その点について人に説明する必要があるかもしれないので。 私のほうでもいただいたアドバイス内容を元に検索してみようとは思いますが。 それと > もちろん、ページ全体を再読み込みしていいなら話は別ですが。 ページ全体の再読込は仕様上大丈夫です。 特に再読込不可という制約はありません。 ajax化に伴う予算増加は認められなさそうという制約はありますが。。。 後、確かにwhileは必要ないですね。 結果は常に1つになります。 何となく今お教えいただいた方法で頭の中で処理の流れを考えてみました。 <?php if (チェックボックスから何らかの値を渡されたら) { ・phpでSQLを発行し、ボタンのOFF/ONを設定する。 (もしかしたら常にSQLを発行し、値が渡されていない場合はkey=0の値を見に行き、 key=0にはボタンがすべてONになるような値を設定しておけばよいのかもしれません。) } ?> <html> ・チェックボックス(ここをクリック時、何らかの値を渡し、リロードする) ・ボタン(チェックボックスクリックに伴うSQLの結果を元にOFF/ONを設定) </html> 後、今のソースでは再読み込み時にチェックボックスのOFF/ONを保持する仕組みがない為、 それを実装すれば、ここの部分については一応意図した動作になるのかなと思いました。 そのため、上記のような感じで一度組んでみて試してみようと思います。

iroha_168
質問者

補足

いつもお世話になっております。 その後ご教示いただいた内容を元に実装してみた所、phpとjavascriptを用いページ全体を再読み込みさせることで希望の動作となりました。 まだまだ改善の余地があるソースですが、当初の目的は達成できましたので質問を締め切らさせていただきたいと思います。 どうもありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

>1. SQLは予め実行するのではなく、checkboxクリック時に実行したい。 ajaxを使えばできないことはない。 ただしそこまでするほどのこともないような気がします。 >2. checkboxが3つあった場合、1つめのcheckboxクリック時はテーブルの1行目、 >2つめのcheckboxクリック時はテーブルの2行目の値を見に行きたい 現状はみればわかるが、3回ループするなかで毎回$ans1~3が上書きされてる。 配列をつかってうければ処理できるんじゃないですかね?

iroha_168
質問者

お礼

ありがとうございます。 今の所、ajaxを使う事は想定しておりません。 多分phpで出来そうかなという気はするのですが。 それと2については下記のようにテーブルに主キーを設定し、checkboxクリック時にcheckboxの引数に主キーの値を入れておき、whereで取得する方法などを考えています。 ------------------- |   |key|field1|field2|field3| ------------------- |1行目| 1 | 1  | 0 | 1  | ------------------- |2行目| 2 | 0  | 1 | 1  | ------------------- |3行目| 3 | 1  | 0 | 0  | ------------------- もっとも、それを行うにはcheckboxクリック時にSQLを発行する必要があるとは思いますが。 この点については引き続き調べてみようと思います。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 選択肢によってラジオボタンを押せなくする(無効にする)

    2.7.2.の質問があって、ラジオボタンの選択肢(1~5まで)によって、 1を選択したら、2.7.2.1のみ選択、その他はラジオボタン押せなくする 、2を選択すると、2.7.2.2のみ選択、その他はラジオボタン押せなくする 、3を選択すると、2.7.2.3のみ選択、その他はラジオボタン押せなくする 4、5を選択すると、2.7.2.1、2.7.2.2、2.7.2.3、すべてを押せなくして、submitボタンを押して次へという処理をしたいのですが、下記のプログラムではまったく動作しません。 どこが悪いのでしょうか?お分かりの方教えていただけませんか? <script language="javascript"> <!-- function check(){ if(document.form1.BQ20[0].checked == true) { document.form1.BQ201.disabled = false; document.form1.BQ201.bgColor='#FFFFFF'; }else if(document.form1.BQ20[1].checked == true) { document.form1.BQ202.disabled = false; document.form1.BQ202.bgColor='#D4D0C8'; }else if(document.form1.BQ20[2].checked == true) { document.form1.BQ203.disabled = false; document.form1.BQ203.bgColor='#D4D0C8'; }else{ document.form1.BQ201.disabled = true; document.form1.BQ201.bgColor='#FFFFFF'; document.form1.BQ202.disabled = true; document.form1.BQ202.bgColor='#FFFFFF'; document.form1.BQ203.disabled = true; document.form1.BQ203.bgColor='#FFFFFF'; } } // --> </script> 以下省略

  • チェックボタンの制御方法

    チェックボタンの制御方法で 下記のようなことがやりたいです。 (1)【全ての学校】選択時 【小学校】と【中学校】の全て disabledのままでチェックをセット、ボタンdisabled (2)【小学校】選択時 【中学校】disabledのままでチェックを解除、ボタンdisabled (3)【中学校】選択時 【小学校】disabledのままでチェックを解除、ボタンdisabled もうちょっとだと思うのですが... なかなかうまく出来ないのでよろしくお願いします。 <html> <head> <title></title> <script Language="JavaScript"><!-- function setRTF(f,n){ for(var i=0; i<f.length; i++){ var p=f[i].parentNode; var pid=""; while(p){ if(p.nodeName=="TD"){pid=p.id;break;} p=p.parentNode; } if(f[i].type=="checkbox" || f[i].type=="button") f[i].disabled=pid!=n; } } function allcheck(obj,flag){ var target=obj.parentNode.getElementsByTagName("input"); for(var i=0;i<target.length;i++){ if(target[i].type=="checkbox") target[i].checked=flag; } } // --></script> </head> <body> <form> <table border="1" width="303"> <tr> <td width="89"><input type="radio" name="mm" onClick="setRTF(this.form,'aa')">小学校</td> <td width="90"><input type="radio" name="mm" onClick="setRTF(this.form,'bb')">中学校</td> <td width="102"><input type="radio" name="mm" onClick="setRTF(this.form,'xx')">全ての学校</td> </tr> <tr> <td id="aa" rowspan="2" width="89"> <input type="checkbox" name="aa[]" value="1" disabled>A小学校<br> <input type="checkbox" name="aa[]" value="2" disabled>B小学校<br> <input type="checkbox" name="aa[]" value="3" disabled>C小学校<br> <input type="button" value="全選択" onClick="allcheck(this,true)"/ disabled ><br> <input type="button" value="全解除" onClick="allcheck(this,false)" disabled /> </td> <td id="bb" width="90"> 市立<br> <input type="checkbox" name="bb[]" value="1" disabled>A中学校<br> <input type="checkbox" name="bb[]" value="2" disabled>B中学校<br> <input type="checkbox" name="bb[]" value="3" disabled>C中学校<br> <input type="button" value="全選択" onClick="allcheck(this,true)" disabled /><br> <input type="button" value="全解除" onClick="allcheck(this,false)" disabled /> </td> <td id="cc" rowspan="2" width="102"> </td> </tr> <tr> <td id="bb" width="90"> 私立<br> <input type="checkbox" name="cc[]" value="1" disabled>A中学校<br> <input type="checkbox" name="cc[]" value="2" disabled>B中学校<br> <input type="checkbox" name="cc[]" value="3" disabled>C中学校<br> <input type="button" value="全選択" onClick="allcheck(this,true)" disabled /><br> <input type="button" value="全解除" onClick="allcheck(this,false)" disabled /> </td> </tr> </table> </form> </body> </html>

  • ラジオボタンが選択によるチェックボックス・ボタンの制御方法

    お世話になります。 やりたい事 (1)ラジオボタン【小学校】:小学校のみ入力可 (2)ラジオボタン【中学校】:中学校(市立・私立)のみ入力可 (3)ラジオボタン【全ての学校】:小中すべて入力可 (1)と(2)は動作していると思います。 (3)を実現するにはどうすればいいのでしょうか? よろしくお願いします。 <html> <head> <title>ラジオボタンが選択されたらチェックボックス・ボタンを入力可能にする</title> <script Language="JavaScript"><!-- function setRTF(f,n){ for(var i=0; i<f.length; i++){ var p=f[i].parentNode; var pid=""; while(p){ if(p.nodeName=="TD"){pid=p.id;break;} p=p.parentNode; } if(f[i].type=="checkbox" || f[i].type=="button") f[i].disabled=pid!=n; } } function allcheck(obj,flag){ var target=obj.parentNode.getElementsByTagName("input"); for(var i=0;i<target.length;i++){ if(target[i].type=="checkbox") target[i].checked=flag; } } // --></script> </head> <body> <form> <table border="1" width="303"> <tr> <td width="89"><input type="radio" name="mm" onClick="setRTF(this.form,'aa')">小学校</td> <td width="90"><input type="radio" name="mm" onClick="setRTF(this.form,'bb')">中学校</td> <td width="102"><input type="radio" name="mm" onClick="setRTF(this.form,'xx')">全ての学校</td> </tr> <tr> <td id="aa" rowspan="2" width="89"> <input type="checkbox" name="aa[]" value="1" disabled>A小学校<br> <input type="checkbox" name="aa[]" value="2" disabled>B小学校<br> <input type="checkbox" name="aa[]" value="3" disabled>C小学校<br> <input type="button" value="全選択" onClick="allcheck(this,true)"/ disabled ><br> <input type="button" value="全解除" onClick="allcheck(this,false)" disabled /> </td> <td id="bb" width="90"> 市立<br> <input type="checkbox" name="bb[]" value="1" disabled>A中学校<br> <input type="checkbox" name="bb[]" value="2" disabled>B中学校<br> <input type="checkbox" name="bb[]" value="3" disabled>C中学校<br> <input type="button" value="全選択" onClick="allcheck(this,true)" disabled /><br> <input type="button" value="全解除" onClick="allcheck(this,false)" disabled /> </td> <td id="cc" rowspan="2" width="102"> </td> </tr> <tr> <td id="bb" width="90"> 私立<br> <input type="checkbox" name="cc[]" value="1" disabled>A中学校<br> <input type="checkbox" name="cc[]" value="2" disabled>B中学校<br> <input type="checkbox" name="cc[]" value="3" disabled>C中学校<br> <input type="button" value="全選択" onClick="allcheck(this,true)" disabled /><br> <input type="button" value="全解除" onClick="allcheck(this,false)" disabled /> </td> </tr> </table> </form> </body> </html>

  • checkboxを全てcheckを画像ボタンで

    一つのフォームの中に、複数のcheckboxのグループがあって そのグループ毎に、全てチェック、解除ボタンをつけているのですが それを画像のボタンで実現したいのですが、どのようにしたらいいでしょうか? *通常のボタンでは動作していますが、画像をボタンにした時に動作しません。 チェックを入れて、その場面にとどまって欲しいのに 画像で作るとチェックを入れて、検索してしまいます。 以下、現在と、画像ボタンのうまく動かないものも書いています。 よろしくお願いいたします。 <SCRIPT language="JavaScript"> <!-- // チェックボックスに使用している名前 chn1 = new Array("bukken_ID[1]","bukken_ID[2]"); // 全てのチェックボックをチェックする function chBxOn1(){ for(i=0; i<chn1.length; i++) { document.nForm.elements[chn1[i]].checked = true; } } // 全てのチェックボックのチェックを外す function chBxOff1(){ for(i=0; i<chn1.length; i++) { document.nForm.elements[chn1[i]].checked = false; } } //--> </SCRIPT> <SCRIPT language="JavaScript"> <!-- // チェックボックスに使用している名前 chn = new Array("ku_area[1]","ku_area[2]"); // 全てのチェックボックをチェックする function chBxOn2(){ for(i=0; i<chn2.length; i++) { document.nForm.elements[chn2[i]].checked = true; } } // 全てのチェックボックのチェックを外す function chBxOff2(){ for(i=0; i<chn2.length; i++) { document.nForm.elements[chn2[i]].checked = false; } } //--> </SCRIPT> <form id="form2" name="nForm" method="post" action="#"> <input type="checkbox" name="bukken_ID[1]" id="bukken_ID" value="1" /> マンション <input type="checkbox" name="bukken_ID[2]" id="bukken_ID" value="2" /> 一戸建て <input type="button" value="全てチェックを入れる" onclick="chBxOn1()" /> <input type="button" value="チェック解除" onclick="chBxOff1()" /> <input type="checkbox" name="ku_area[1]" id="ku_area" value="1"/>住所1 <input type="checkbox" name="ku_area[2]" id="ku_area" value="2"/>住所2 <input type="button" value="全てチェックを入れる" onclick="chBxOn2()" /> <input type="button" value="チェック解除" onclick="chBxOff2()" /> <input type="submit" name="button3" id="button3" value="以上の条件で検索" /> </form> 以下、うまく動かない画像のボタンです。 <input type="image" src="img/allcheck1.gif" alt="全てチェックを入れる" onClick="chBxOn1()"> <input type="image" src="img/riset.gif" alt="チェック解除" onClick="chBxOff1()">

  • ラジオボタンで入力項目の可・不可を切り替える方法

    雑誌やネットを調べ、ラジオボタンで入力項目の可・不可を切り替える JavaScriptを見つけたのですが、思うように動作しません。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis" /> <title>Sample</title> <script type="text/javascript"> <!-- function radioChange() { if(document.form1.radioSelect[0].checked == true) { document.form1.04text.disabled = false; document.form1.04text.style.backgroundColor='#FFFFFF'; document.form1.05text.disabled = false; document.form1.05text.style.backgroundColor='#FFFFFF'; document.form1.06text.disabled = false; document.form1.06text.style.backgroundColor='#FFFFFF'; document.form1.07text.disabled = true; document.form1.07text.style.backgroundColor='#D4D0C8'; document.form1.08text.disabled = true; document.form1.08text.style.backgroundColor='#D4D0C8'; document.form1.09text.disabled = true; document.form1.09text.style.backgroundColor='#D4D0C8'; } else if(document.form1.radioSelect[1].checked == true) { document.form1.04text.disabled = true; document.form1.04text.style.backgroundColor='#D4D0C8'; document.form1.05text.disabled = true; document.form1.05text.style.backgroundColor='#D4D0C8'; document.form1.06text.disabled = true; document.form1.06text.style.backgroundColor='#D4D0C8'; document.form1.07text.disabled = false; document.form1.07text.style.backgroundColor='#FFFFFF'; document.form1.08text.disabled = false; document.form1.08text.style.backgroundColor='#FFFFFF'; document.form1.09text.disabled = false; document.form1.09text.style.backgroundColor='#FFFFFF'; } else { document.form1.04text.disabled = true; document.form1.04text.style.backgroundColor='#D4D0C8'; document.form1.05text.disabled = true; document.form1.05text.style.backgroundColor='#D4D0C8'; document.form1.06text.disabled = true; document.form1.06text.style.backgroundColor='#D4D0C8'; document.form1.07text.disabled = true; document.form1.07text.style.backgroundColor='#D4D0C8'; document.form1.08text.disabled = true; document.form1.08text.style.backgroundColor='#D4D0C8'; document.form1.09text.disabled = true; document.form1.09text.style.backgroundColor='#D4D0C8'; } } //--> </script> </head> <body onload="radioChange()"> <form action="" method="post" name="form1"> <table> <tr> <td> <input name="radioSelect" type="radio" onclick="radioChange()" value="1" /> 国内旅行 <input name="radioSelect" type="radio" onclick="radioChange()" value="0" /> 海外旅行</td> </tr> <tr> <td>&nbsp;</td> </tr> <tr> <td> 国内編:<br /> 希望地 <input type="text" name="04text" /> <br /> 希望日: <input type="text" name="05text" /> <br /> 乗り物: <input type="text" name="06text" /> </td> </tr> <tr> <td>&nbsp;</td> </tr> <tr> <td>海外編:<br /> 希望地 <input type="text" name="07text" /> <br /> 希望日: <input type="text" name="08text" /> <br /> 乗り物: <input type="text" name="09text" /> </td> </tr> </table> </form> </body> </html> テキストボックスの「name」を、英字から始めれば解決するのですが 事情があり、nameを数字で始める必要があります。 この解決方法を教えていただけませんでしょうか。 よろしくお願いいたします。

  • JavaScriptでIE上のボタンクリック

    JavaScriptの初心者でIE上で表示されたボタンをクリックしたいのですが、2つのボタンのうち1つをクリックしたいです。 「document.all("Buttonok").click();」,「document.getElementById("Buttonok").click();」と記入してみたのですが、エラーとなります。 下記のようなボタンをJavaScriptで押すにはどうしたらいいのでしょうか? どなたかすいませんがご教授ください。 ===================================================== ボタンのHTML ※formで囲まれてないです。 <table border="0" cellspacing="0" cellpadding="0" width="150"> <tr> <td width="50%"> <div id="Button"> <input type="buttonok" value="OK" class="Button" onclick="onClk("1");" /> </div> <div id="Button"> <input type="buttonng" value="NG" class="Button" onclick="onClk("0");" /> </div> </td> </tr> </table>

  • 複数ボタンのクリックイベント

    JavaScriptのイベントなのか変数のスコープなのかで質問がございます。 (一番下に全ソースを貼りました。見づらくて申し訳ありません。) htmlに複数の似た名前のボタンがあります。 名前:button_n (n = 0 to 9) 押されたボタンに応じた処理を登録しようと思い、下記を 9個書いたところ 望んだ動きをしました。 document.getElementById('button_'+0).onclick = function() { clicked(0); } document.getElementById('button_'+1).onclick = function() { clicked(1); } ...... document.getElementById('button_'+9).onclick = function() { clicked(9); } これでは芸がないので、添字の部分を変数にし、下記のようにしたところ for (i=0; i<10; i++) {    document.getElementById('button_'+i).onclick = function() { clicked(i); } } どのボタンを押しても動きません。 私の認識、以下です。  ・0~9のイベントは正しく登録されている。  ・しかし、全てがchecked(10)を呼んでいる 質問1  これを回避する方法と、その対処理由を教えて頂きたくお願い致します。   質問2(オプション)  参考になる資料を教えていただければ幸いです。  例)サイ本のどこを読めばいいよ。とか、このURLがわかりやすいよ。等 よろしくお願い致します。 ■ソース <!DOCTYPE html><html lang="ja"> <head><meta charset="utf-8"></head> <body> <h2>所望の動きをする</h2> <input type="button" id="button_0" value="0"> <input type="button" id="button_1" value="1"> <h2>所望の動きをしてくれない</h2> <p></p> <input type="button" id="button_2" value="2"> <input type="button" id="button_3" value="3"> <script> (function() { document.getElementById('button_'+0).onclick = function() { clicked(0); } document.getElementById('button_'+1).onclick = function() { clicked(1); } /* 配列の最後の添字が使われる気がする。 */ for (i=2; i<4; i++) {    document.getElementById('button_'+i).onclick = function() { clicked(i); } } function clicked(n) { var btn = document.getElementById('button_' + n); console.log(btn.value); alert(btn.value); } })(); </script> </body><html>

  • checkbox ループ

    下記のスクリプトだと、 デバックが16になってしまいます。 これをどうにかして、 AをチェックしたらA内だけをループ、 BをチェックしたらB内だけをループさせたいんですが、 どこをどのように修正すればいいですか?? スクリプトをかなり変えるのは避けたいです。。 教えてください。。 <HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <TITLE></TITLE> <SCRIPT language="JavaScript"> function check(n){ document.getElementById('debug').innerHTML = "デバッグ情報"; document.getElementById('debug').innerHTML = document.getElementById('debug').innerHTML + "<br>lengthは" + document.form1.length; for(i=1; i<=document.form1.length; i++){ if(document.form1.elements["ch" + n].checked){ document.form1.elements["ch" + n + "-" + i].checked = true; document.form1.elements["ch" + n + "-" + i].disabled = true; }else{ document.form1.elements["ch" + n + "-" + i].checked = false; document.form1.elements["ch" + n + "-" + i].disabled = false; } } } </SCRIPT> </HEAD> <BODY> 全てのチェックボックスをチェック/解除 <FORM name="form1"> <p><INPUT type="checkbox" id="ch1" onclick="check(1)">チェックA</p> <INPUT type="checkbox" id="ch1-1">チェック1 <INPUT type="checkbox" id="ch1-2">チェック2 <INPUT type="checkbox" id="ch1-3">チェック3<BR><BR> <INPUT type="checkbox" id="ch1-4">チェック4 <INPUT type="checkbox" id="ch1-5">チェック5 <INPUT type="checkbox" id="ch1-6">チェック6<BR><BR> <BR> <p><INPUT type="checkbox" id="ch2" onclick="check(2)">チェックB</p> <INPUT type="checkbox" id="ch2-1">チェック1 <INPUT type="checkbox" id="ch2-2">チェック2 <INPUT type="checkbox" id="ch2-3">チェック3 <INPUT type="checkbox" id="ch2-4">チェック4<BR><BR> <INPUT type="checkbox" id="ch2-5">チェック5 <INPUT type="checkbox" id="ch2-6">チェック6 <INPUT type="checkbox" id="ch2-7">チェック7 <INPUT type="checkbox" id="ch2-8">チェック8<BR><BR> <BR> </FORM> <p id="debug"></p> </BODY> </HTML>

  • ラジオのチェックでフォーム表示、PHPへPOSTさせたい

    見よう見まねで作成したのですが、わからないので教えてください。 ラジオボタンのOKをクリックするとアカウントとパスワードの入力フォーム、ログインボタンが表示され、aaa.phpに飛びたいです。 「OK」で表示、「NO」で非表示はなんとかできましたが、問題が2点あります。 1.test.htmlにアクセスしたときすでに「OK」にチェックがついていて、テキストエリアとログインボタンが表示されてしまいます。 「NO」のほうにcheckedをいれてみましたがダメでした。 2.phpへとばず、test.htmlにとんでしまいます。 宜しくお願いいたします。 test.html - - - - - - - - - - - - - - - - - - - <script type="text/javascript"> <!-- function Sel(me){ if(me.value=="1"){ me.form.account.disabled=false; me.form.password.disabled=false; me.form.btn.disabled=false; document.getElementById('SelA').style.display=(document.all)? 'block':'table-row'; document.getElementById('SelB').style.display='none'; }else{ me.form.account.disabled=true; me.form.password.disabled=true; me.form.btn.disabled=true; document.getElementById('SelA').style.display='none'; document.getElementById('SelB').style.display='none'; } } //--> </script> <form name="Quick1"> <form name="send" method="POST" action="aaa.php"> <input type="radio" name="AB" value="1" checked onclick="Sel(this)">OK <input type="radio" name="AB" value="2" onclick="Sel(this)">NO</td></tr> <tr id="SelA"> <td></td><td> <input type="text" size="30" maxlength="5" name="account" ><br> <input type="password" size="24" maxlength="5" name="password" > <input type="submit" name="btn" value="ログイン"> </form> </td></tr> <tr id="SelB" style="display:none">・・・</form>

  • checkboxをshiftキーを押しながらクリックすると複数選択する

    checkboxをshiftキーを押しながらクリックすると複数選択するソースなのですが、 htmlファイルでは動作するのですが、以下のようにperl(cgiファイル)では複数選択できません。 もしかしたらjavaのコーディングの問題かもしれませんが、行き詰っております。 どなたかご教授お願い申し上げます。 ↓------------------------------------------- #!c:/Perl/bin/perl require 'cgi-lib.pl'; require 'jcode.pl'; print "Content-type: text/html\n\n"; print <<EOM; <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <meta http-equiv="Content-Style-Type" content="text/css"> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="jquery.field_j.js"></script> <script type="text/javascript"> var bIsFirebugReady = (!!window.console && !!window.console.log); $(document).ready( function (){ $("#idPluginVersion").text($.Field.version); setLimitSelection(); $('input[name="chkRange"]').createCheckboxRange(function(bChecked){ $("label[for=" + this.id + "]").css("background-color", (bChecked) ? "#ffffff" : ""); }); $("#frmNavigation").autoAdvance(); window.oSelector = $("#selector"); } ); function setLimitSelection(){ $('input[name="chkLimit"]').limitSelection( { limit: 3, onfailure: function (n){ $("#idCheckboxMsg").html( "You can not select more than " + n + " items." ); return false; }, onsuccess: function (n){ $("#idCheckboxMsg").html(""); return false; } } ); $('select[name="selLimit"]').limitSelection(2); } </script> <title>test</title> </head> <body> <form action="" method="post" id="frmCreateCheckboxRange" onsubmit="return false;"> <p> <table> <tr> <td> <input type="checkbox" name="chkRange" id="chkRange_1" value="1" /> </td> <td> <input type="checkbox" name="chkRange" id="chkRange_2" value="2" /> </td> <td> <input type="checkbox" name="chkRange" id="chkRange_3" value="3" /> </td> </tr> </table> </p> </form> </body> </html> EOM ↑------------------------------

    • ベストアンサー
    • Perl