• 締切済み

ラジオボタンでフィールド内の値を全て変更したい

管理画面制作中です。 ID, title, statusというフィールドに 1, タイトル1, 0 2, タイトル2, 0 3, タイトル3, 1 という値があり、その管理画面上では ○適用する というラジオボタンを置き、status=1の場合はcheckedで表示しています。 上記の例で現在はID=3の部分がチェックされている状態です。 例えばID=1の部分をチェックした場合、ID=1のstatusを1に、ID=3のstatusを0に変更したいと思っています。 <input type='radio' name='name' id='" . $ID . "' onclick='status_change();'> と現在設定しています。 でもFunction status_change()はさっぱり思いつかず現在空です。 諸先輩方のお知恵をお借りしたく、宜しくお願いします。

  • Rebe
  • お礼率75% (3/4)
  • MySQL
  • 回答数1
  • ありがとう数1

みんなの回答

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

んー?ちょっとおかしいですね。 ID1~3のレコードには同じラジオボタン要素であると言う nameにあたるフィールドがありません。 まさかラジオボタン毎に個別のテーブルをもっているわけじゃないでしょ? 通常ならこんな風になりますよね? ID, title, name, status 1, タイトル1 , hoge , 0 2, タイトル2 , hoge , 0 3, タイトル3 , hoge , 1 id='3'がチェックされていないという情報はHTMLでは絶対にながれてきません。 取得できるのはname要素がhogeというデータのチェックされたIDが1だと いうことです。 そうなるともし上記のような管理であればまずチェックを全てはずし、 あらたにID=1にチェックをいれればよいでしょう。 UPDATE SET status='0' WHERE name='hoge'; UPDATE SET status='1' WHERE id='1';

Rebe
質問者

お礼

あ、お礼と補足間違っちゃいました・・

Rebe
質問者

補足

レスありがとうございます。 ご指摘の通りで、その処理が必要な部分がこの部分だけなのでこの部分は完全に別テーブル。 よってこの場合はnameフィールドはつけませんでした。 そして「チェックされていない場合の処理」を一生懸命考えてましたがはやり無理でしたか・・ そうなると仰るとおりの処理以外に方法はなさそうですね。 すっきりしました。本当にありがとうございました。

関連するQ&A

  • ラジオボタンについて

    こんにちは。ラジオボタンについて質問させてください。 <input type="radio" name="area" value="all" onClick="area.value = 'all'" checked>ALL<br> <input type="radio" name="area" value="a" onClick="area.value = 'a'">A<br> <input type="radio" name="area" value="b" onClick="area.value = 'b'">B<br> というHTMLを記述しました。 画面が表示された後にラジオボタンをチェックして実行(別個作成)すると うまく動作するのですが、チェックボタンをチェックしずに (デフォルトの'ALL'選択のまま)実行するとうまくいきません。 どのようにすればうまく動作するのでしょうか?

    • ベストアンサー
    • HTML
  • ラジオボタンで選択変更

    ラジオボタンで選択した背景色に変更する方法はわかったのですが。。。 「★ラジオボタン」で、 「ページの移動」(別のページ)するには、どうしたらいいのでしょうか???(↓この方法でなくてもいいです。。。) <HTML> <HEAD> <TITLE></TITLE> </HEAD> <SCRIPT language="JavaScript"> <!-- function changeColor(num){ if(num==0){ document.bgColor="#ffffff"; }else if(num==1){ document.bgColor="#ffcccc"; }else if(num==2){ document.bgColor="#ccffcc"; }else if(num==3){ document.bgColor="#ccccff"; } } // --> </SCRIPT> <BODY> <CENTER> <FORM> <INPUT type="radio" name="bgradio" checked onClick="changeColor(0)">white <INPUT type="radio" name="bgradio" onClick="changeColor(1)">red <INPUT type="radio" name="bgradio" onClick="changeColor(2)">green <INPUT type="radio" name="bgradio" onClick="changeColor(3)">blue </FORM> </CENTER> </BODY> </HTML>

  • 選択したたラジオボタンの値をSUBMITボタンに

    選択したたラジオボタンの値をSUBMITボタンの名前として自動的に替えたいのですが、助言をいただけますか。 イメージは下記です。★の部分に、クリックごとにradioの値を入れたいのです。 <script Language="JavaScript"><!-- function set() { n = document.myFORM.Radio.value; } // --> </script> <FORM ACTION="add.cgi" METHOD="POST" name="myFORM"> <INPUT TYPE="RADIO" NAME="Radio" VALUE="東京" onclick="set()" CHECKED> <INPUT TYPE="RADIO" NAME="Radio" VALUE="大阪"> <INPUT TYPE="SUBMIT" NAME="Submit" VALUE="★"></form>

  • チェックボックス とラジオボタンの値取得について

    チェックボックス とラジオボタンの値取得について こんにちは チェックボックスの中にラジオボタンがある場合に チェックボックスの値に続けてラジオボタンの値を表示したいのですが、 うまくいかず悩んでいます。 【やりたいこと】 □そのた2をチェクして男性を選択した場合 「そのた2 男性」と表示したい。 例 そのた1 そのた2 男性 そのた4 そのた5 女性 サンプルのチェックボックスのlabelタグをはずすと $(vals[i]).next($("input[name='radio']:checked").val()); で値を取得できたのですが、 labelタグを付けたまま値を取得することは可能でしょうか? labelタグをつけたまま、 $(vals[i]).find($("input[name='radio']:checked").val()); でやってみたのですが、undefindがでてしまいました。 サンプルではチェックボックスの数は1個ですが、 □が30個以上 のチェックボックスが50個くらいあるので、 1回の記述で済ませたいのですが、 ラジオボタンが隣にあったら値を取得する のようにできるのでしょうか? 何かよい方法があれば教えて頂けないでしょうか。 よろしくお願い致します。 ■サンプルソース <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <script type="text/javascript" language="JavaScript"></script> <script language="javascript"> <!-- function textb(){ var str=""; var vals = document.forms['f'].elements['q1']; for(i=0; i<vals.length; i++){ if(vals[i].checked){ str=str + vals[i].value + '\n'; } } document.f.log.value=str; } --> </script> <title></title> </head> <body> <form name="f"> <div>アンケート<br> <label for="1"><input type="checkbox" name="q1" class="chex" id="1" value="その1"> その1</label><br> <label for="2"><input type="checkbox" name="q1" class="chex" id="2" value="その2"> その2</label> <input type="radio" name="radio1" value="可">男性 <input type="radio" name="radio1" value="否">女性 <br> <label for="3"><input type="checkbox" name="q1" class="chex" id="3" value="その3"> その3</label><br> <label for="4"><input type="checkbox" name="q1" class="chex" id="4" value="その4"> その4</label><br> <label for="5"><input type="checkbox" name="q1" class="chex" id="5" value="その5"> その5</label> <input type="radio" name="radio2" value="可">男性 <input type="radio" name="radio2" value="否">女性 <br> </div> <input type="button" value="確認" onclick="textb()"> <input type="reset" value="クリア"> <br> <textarea name="log" rows="4" cols="50"></textarea></form> </body> </html>

  • jQueryで複数のラジオボタンを処理

    jQueryを最近使い始めました。 以下のようなことをしたいのですが、いいやり方が分かりません。 jQueryを使ってページの読み込み後すぐに、ラジオボタンにチェックを入れたいと思っています。 以下のようにすると実際にチェックが入りました。 HTML <input type="radio" name="a" value="1" /> <input type="radio" name="a" value="2" /> jQuery if(!$("input:radio[name=a]:checked").val()){  $("input:radio[name=a]:first").attr("checked" , "checked"); } ラジオボタンが複数ある場合、上記のjQueryのnameの値を変えたものを増やしていけば対応できたのですが、ラジオボタンがたくさんある場合、同じようなスクリプトが何行も増えてしまいます。 うまく関数にする方法やその他よい対処法はないでしょうか。 <input type="radio" name="a" value="1" /> <input type="radio" name="a" value="2" /> <input type="radio" name="b" value="1" /> <input type="radio" name="b" value="2" /> <input type="radio" name="c" value="1" /> <input type="radio" name="c" value="2" /> … if(!$("input:radio[name=a]:checked").val()){  $("input:radio[name=a]:first").attr("checked" , "checked"); } if(!$("input:radio[name=b]:checked").val()){  $("input:radio[name=b]:first").attr("checked" , "checked"); } if(!$("input:radio[name=c]:checked").val()){  $("input:radio[name=c]:first").attr("checked" , "checked"); } …

  • ラジオボタンの未選択チェックについて

    ラジオボタンの未選択チェックに困っています! フォームにInputして、CGIで送信するように設定しています。 但し、送信内容を管理者がメール受信するため、ラジオボタンの「name」は漢字にしています。   <name> <value> Webの見やすさ = 見やすい  と表示されるようにです。 <INPUT type="radio" name="Webの見やすさ" value="見やすい" id="Q11"><label for="Q11"> 見やすい</label> <INPUT type="radio" name="Webの見やすさ" value="特に問題ない" id="Q12"><label for="Q12"> 特に問題ない</label> <INPUT type="radio" name="Webの見やすさ" value="ふつう" id="Q13"><label for="Q13"> ふつう</label>   <INPUT type="radio" name="Webの見やすさ" value="やや見にくい" id="Q14"><label for="Q14"> やや見にくい</label>   <INPUT type="radio" name="Webの見やすさ" value="見にくい" id="Q15"><label for="Q15"> 見にくい</label></TD> この場合、ラジオボタンの未選択チェックは、どのようにしたら いいのでしょうか? 今までは、「name」を英数にしていたので、下記のようにしていました。 <script language="JavaScript"> <!-- function chk(oj) { if ((oj.Q1[0].checked == false) && (oj.Q1[1].checked == false) && (oj.Q1[2].checked == false) && (oj.Q1[3].checked == false) && (oj.Q1[4].checked == false)) { alert("Q1のボタンが未選択です"); return false ; } else { return true ; } }//--> </script> 初心者のため、何を変えたらいいのか・・・ホームページを調べたのですが分かりませんでした。 「name」が漢字の場合、どのように指示したらいいのか、ぜひぜひご教授願います。 どうぞよろしくお願いいたします。

  • radioボタンの値の取得の仕方?

    こんにちは,よろしくお願いします。 ラジオボタンの値でテキストフィールドのような要素をdisabledにしようと考えています。 そこで <input name="AAA" type="radio" id="AAA_0" value="0" checked="checked" onclick="xxx()"/>選択肢A <input name="AAA" type="radio" id="AAA_1" value="1" onclick="xxx()"/>選択肢B とし,javascriptのxxx functionの中では, if(document.getElementById("AAA").value == 0){ document.getElementById("BBB").disabled = true; }else if(document.getElementById("AAA").value == 1){ document.getElementById("BBB").disabled = false; } } としてみたところ,いつも document.getElementById("AAA").value の値が0のままでいくら選択肢Bをクリックしても切り替わりません。 一体何が悪いのでしょうか。教えてください。よろしくお願い申し上げます。

  • ラジオボタンの値を・・・・・

    <html> <head> <script language="javascript"> function osu(){ document.form1.text1.value=document.form1.radio1.value; } </script> </head> <body> <form name="form1"> <input type="radio" name="radio1" value="男" checked>男 <input type="radio" name="radio1" value="女">女 <input type="button" value="押す" onClick="osu()"> <input type="text" name="text1"> </form> </body> </html> ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー 上記のプログラムは、選択されたラジオボタンの値をテキストボックスに表示させるプログラムなんですが、何故かラジオボタンの値が表示されず、「undefined」というのが表示されます。 どうすれば、「男」または「女」という値を表示させることができますか? ちなみにこれは、「○○○.html」で保存します

  • ラジオボタン

    <html> <head> <title></title> <script type="text/javascript"> function check() { var s=0; if(document.forms["f2"].elements["stay"].checked) { var radios = document.forms["f2"].elements["aa"]; if(document.forms["f2"].elements["aa"].checked) s += 1800; if(document.forms["f2"].elements["aa"].checked) s += 2800; if(document.forms["f2"].elements["aa"].checked) s += 3800; if(document.forms["f2"].elements["aa"].checked) s += 2000; document.forms["f2"].elements["total"].value = s ; } } </script> </head> <body> <form name="f2" action="#"> <h4>Q1.テーマパークに入りますか?</h4> <p> <input type="checkbox" name="stay" value="">入場する </p> <h4>Q2.年齢は?</h4> <p> <input type="radio" name="aa" value="" checked>6歳未満 <input type="radio" name="aa">6歳以上18歳未満 <input type="radio" name="aa">18歳以上60歳未満 <input type="radio" name="aa">60歳以上 </p> <h4>入場料金は次の通りです。</h4> <p> <input type="button" value="計算" onclick="check();"> <input type="text" name="total" value="" size="18">円です。 </p> </form> </body> </html> これでやると何を選択しても0円になるんですけど、 どうすればいいですか?

  • ラジオボタンの選択に応じてインプットを表示する。

     お世話になります。  現在、ラジオボタンの選択に応じてインプットのフィールドが表示されるようなHTMLフォームを作っているのですが、煮詰まってしまいました。どうしてもうまくいかないのですが、 <html> <head> <title>テスト</title> <script type="text/javascript"> <!-- function checkradio( disp ) { document.getElementById('input').style.display = disp; } //--> </script> </head> <body> <form action="xxx"> <p> <input type="radio" name="domain" id="1" value="1" onclick="checkradio('none');" /> <label for="1">選択1</label><br /> <input type="radio" name="domain" id="2" value="2" onclick="checkradio('none');" /> <label for="2">選択2</label><br /> <input type="radio" name="domain" id="3" value="3" onclick="checkradio('block');" checked /> <label for="3">選択3</label><br /> </p> <p id="input"> 選択3の詳細を書いてください。:<input type="text" id="input" name="select3" value="" size="20" /> </p> </form> </body> </html> と、こんな感じで、3を選択した時しかインプットを表示できません。選択1や選択2を表示した時には、「選択1の詳細を書いてください。」または「選択2の詳細を書いてください。」と表示させたいのですが、どこをどんな風に直せばいいでしょうか? それと同時に初期画面ではこのインプットを非表示にしてラジオボタンを選択した時に表示されるようにしたいと思っています。 よろしくお願いします。