• ベストアンサー

ラジオボタンのチェックの付け方。

sizen.csvというファイルがあります。 中身は ----- umi,海 yama,山 mizuumi,湖 ike,池 mura,村 ----- です。 このcsvファイルをsizen.phpに読込んで ラジオボタン使用の設問を作りたいと思っております。 プログラムは・・・ <form action="area.php" method="POST"> <?php $file=file("sizen.csv"); for($i=0;$file[$i];$i++){ $data=explode(",",$file[$i]); echo"<input type='radio' name='sizen' value='".$data[0]."'>"; echo"$data[1]<br>"; } ?> <input type="submit" value="次へ"> とできたのですが、チェックがついていません。 先頭にチェックボタン(今回の場合は海の選択肢に最初からチェックを付けたい)を付けたいのですが、どういう方法があるのでしょうか? if文を使って <form action="area.php" method="POST"> <?php $file=file("sizen.csv"); for($i=0;$file[$i];$i++){ $data=explode(",",$file[$i]); if($data[0]==umi){ echo"<input type='radio' checked name='sizen' value='".$data[0]."' >"; echo"$data[1]<br>"; }else{ echo"<input type='radio' name='sizen' value='".$data[0]."'>"; echo"$data[1]<br>"; } } ?> <input type="submit" value="次へ"> とすればできるのですが、 sizen.csvファイルの中身をよく変える為、 if($data[0]==umi){・・・・ という風に、$data[0]==umiのように固定はできません。 この方法を使わずに、ラジオボタンのチェックを いつも選択肢の先頭に付けるにはどのような方法があるのでしょうか? よろしくお願いします。

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

  • ベストアンサー
  • wish46
  • ベストアンサー率78% (29/37)
回答No.2

if($data[0]) == umi) を if($i==0) というやりかたでは駄目ですか? この場合、例えばyama が一番上にきたときは yama にchecked がつきます。 質問の意味が違ったらすみません。

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

その他の回答 (1)

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

せんとうにつけるのであれば、カウンタをつけて、0のときにcheckedを つけ、それ以外の時は消せばよいでしょう。 こんな感じ <form action="area.php" method="POST"> <?php $handle = fopen("sizen.csv", "r"); $row=0; while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { $checked=$row==0?" checked":""; print <<<eof <input type='radio' name='sizen' value='{$data[0]}'{$checked}>{$data[1]}<br> eof; $row++; } ?> <input type="submit" value="次へ">

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

関連するQ&A

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

    チェックボックス とラジオボタンの値取得について こんにちは チェックボックスの中にラジオボタンがある場合に チェックボックスの値に続けてラジオボタンの値を表示したいのですが、 うまくいかず悩んでいます。 【やりたいこと】 □そのた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>

  • 複数のラジオボタンのチェック

    複数のラジオボタンが全て選択されているかどうかのチェックのJavaScriptをすっきりした形で書くのは、どうしたらいいでしょうか? 下記のようですと、ダラダラと記述するようになってしまいます。 どなたかご教授ください。 --------------------------------------- <script type="text/javascript"> function insert_onClick() { j=0; for (i=0 ;i < document.F1.a11.length ; i++){ if (document.F1.a11[i].checked) { j=1; } } } </script> <form action="check.php" name="F1" onsubmit="return insert_onClick()"> 各valueは0~4まであります <input type="radio" name="a11" value="0"> <input type="radio" name="a12" value="0"> <input type="radio" name="a21" value="0"> <input type="radio" name="a22" value="0"> <input type="radio" name="b11" value="0"> <input type="radio" name="b12" value="0"> <input type="radio" name="b21" value="0"> <input type="radio" name="b22" value="0"> ---------------------------------------

  • ラジオボタンとチェックボックスの計算について

    ラジオボタンとチェックボックスで選択して、その合計を表示させたいのですが、合計の最高は50になる用に作ったのですが、9点にしかなりません。 私が考えるに、<script language="JavaScript">~</script>の間が間違っていると思うのですがどうでしょうか? 皆様ご教授の程お願いします。 <script language="JavaScript"> <!-- // 項目の合計を計算 function ttlValue() { chn = 10; // ラジオボタンとチェックボックスの総数 ttl = 0; for(i=0; i<chn; i++) { if(document.nForm.elements[i].checked) { ttl += eval(document.nForm.elements[i].value); } } document.nForm.result.value = ttl; } //--> </script> </head> <body alink="#000000" bgcolor="#f0f8ff" link="#00ffff" text="#000000" vlink="#ff0000"> <br> それぞれの項目で該当する回答を1つずつ選択して下さい。 <form name="nForm">項目1<br> <input name="ch1" value="3" checked="checked" type="radio">a<br> <input name="ch1" value="2" type="radio">b<br> <input name="ch1" value="1" type="radio">c<br> <input name="ch1" value="0" type="radio">d<br> <br> 項目2<br> <input name="ch2" value="3" checked="checked" type="radio">a<br> <input name="ch2" value="2" type="radio">b<br> <input name="ch2" value="1" type="radio">c<br> <input name="ch2" value="0" type="radio">d<br> <br> 項目3<br> <input name="ch3" value="3" checked="checked" type="radio">a<br> <input name="ch3" value="2" type="radio">b<br> <input name="ch3" value="1" type="radio">c<br> <input name="ch3" value="0" type="radio">d<br> <br> 項目4<br> <input name="ch4" value="1" checked="checked" type="radio">a<br> <input name="ch4" value="0" type="radio">b<br> <br> 項目5<br> <input name="ch5" value="1" checked="checked" type="radio">a<br> <input name="ch5" value="0" type="radio">b<br> <br> オプションがあれば選択して下さい。(複数選択可)<br> <input name="bx1" value="1" type="checkbox">1<br> <input name="bx1" value="1" type="checkbox">2<br> <input name="bx1" value="1" type="checkbox">3<br> <input name="bx1" value="1" type="checkbox">4<br> <input name="bx1" value="1" type="checkbox">5<br> <input name="bx1" value="1" type="checkbox">6<br> <input name="bx1" value="1" type="checkbox">7<br> <input name="bx1" value="1" type="checkbox">8<br> <input name="bx1" value="1" type="checkbox">9<br> <input name="bx1" value="1" type="checkbox">10<br> <input name="bx1" value="1" type="checkbox">11<br> <input name="bx1" value="1" type="checkbox">12<br> <input name="bx1" value="1" type="checkbox">13<br> <input name="bx1" value="1" type="checkbox">14<br> <input name="bx1" value="1" type="checkbox">15<br> <input name="bx1" value="1" type="checkbox">16<br> <input name="bx1" value="1" type="checkbox">17<br> <input name="bx1" value="1" type="checkbox">18<br> <input name="bx1" value="1" type="checkbox">19<br> <input name="bx1" value="1" type="checkbox">20<br> <input name="bx1" value="1" type="checkbox">21<br> <input name="bx1" value="1" type="checkbox">22<br> <input name="bx1" value="1" type="checkbox">23<br> <input name="bx1" value="1" type="checkbox">24<br> あなたの獲得したメダルは何色?<br> <select name="ch2"> <option value="0" selected="selected">なし</option> <option value="5">金メダル</option> <option value="3">銀メダル</option> <option value="1">銅メダル</option> </select> <br> <br> メダル獲得まで何年かかりましたか?<br> 項目6<br> <input name="ch6" value="10" checked="checked" type="radio">20年以上<br> <input name="ch6" value="5" type="radio">19年~10年<br> <input name="ch6" value="3" type="radio">9年~5年<br> <input name="ch6" value="1" type="radio">4年~3年<br> <input name="ch6" value="0" type="radio">2年未満<br> <br> <input value="合計金額を計算" onclick="ttlValue()" type="button"><br> <br> 合計<input name="result" size="10" type="text"> </form> <br>

  • ラジオボタンにあらかじめチェックする方法で・・

    HTMLから<input type="hidden">を使い、次ページのフォームのラジオボタン・リストボックス・チェックボックスの希望箇所に、あらかじめチェックの入った状態にしたいのですが、以下のソースだと当てはまらなかった箇所に対して膨大な量のNoticeが表示されてしまいます。 ▼HTML <form action="form1.php" method="post"> <input type="submit" value="フォームへ"> <input type="hidden" name="sele_mod" value="2"> <input type="hidden" name="sele_led" value="1"> </form> ▼form1.php $sele_mod[$_POST['sele_mod']]="checked"; $sele_cor[$_POST['sele_cor']]="selected"; echo <<<HTML <form action="" method="post"> 1:<br> <input type="radio" name="model" value="AAAA" $sele_mod[0]>YC702i<br> <input type="radio" name="model" value="BBBB" $sele_mod[1]>YC703i<br> <input type="radio" name="model" value="CCCC" $sele_mod[2]>YC902i<br> <input type="radio" name="model" value="DDDD" $sele_mod[3]>YC903i<br> <br> カラー:<br> <select name="color"> <option value="シルバー" $sele_cor[0]>シルバー</option> <option value="ブラック" $sele_cor[1]>ブラック</option> <option value="ホワイト" $sele_cor[2]>ホワイト</option> <option value="レッド" $sele_cor[3]>レッド</option> <option value="ブルー" $sele_cor[4]>ブルー</option> <option value="イエロー" $sele_cor[5]>イエロー</option> <option value="ライトグリーン" $sele_cor[6]>ライトグリーン</option> <option value="ワインレッド" $sele_cor[7]>ワインレッド</option> <option value="パープル" $sele_cor[8]>パープル</option> <option value="ライトブルー" $sele_cor[9]>ライトブルー</option> <option value="グリーン" $sele_cor[10]>グリーン</option> <option value="オレンジ" $sele_cor[11]>オレンジ</option> </select> HTML;  実際はもっとフォーム部品があるので、Noticeの数もかなり多いです・・・一応このソースでも望みの動作はするのですが、Noticeを出さずにするにはどう改善したら良いでしょうか?

    • ベストアンサー
    • PHP
  • チェックされたラジオボタンにフォーカスを移動したい

    <LABEL><INPUT type="radio" id="a" value="0" checked>すべて</LABEL><BR> <LABEL><INPUT type="radio" id="a" value="1">一部</LABEL><BR> <LABEL><INPUT type="radio" id="a" value="2">なし</LABEL><BR> <LABEL><INPUT type="radio" id="b" value="0" checked>すべて</LABEL><BR> <LABEL><INPUT type="radio" id="b" value="1">一部</LABEL><BR> <LABEL><INPUT type="radio" id="b" value="2">なし</LABEL><BR> <LABEL><INPUT type="radio" id="c" value="0" checked>すべて</LABEL><BR> <LABEL><INPUT type="radio" id="c" value="1">一部</LABEL><BR> <LABEL><INPUT type="radio" id="c" value="2">なし</LABEL><BR> ・・・ のようにラジオボタンがグループ別に並んでいる場合に Enterキーを押したときにフォーカスが次のラジオボタングループの チェックが入ったラジオボタンにフォーカスを移動したいのですが、 何かいい方法はないでしょうか?

  • チェックボックスの内容が送信出来ません。

    PHPのメールフォームにチェックボックスを追加しましたがうまく送れず頭を抱えています。 お力をお貸しください。 必要だと思われるソースです。 inquiry.html <form action="check_inquiry.php" method="POST"> <p><label for="title">お名前:</label> <input type="text" name="title" size="60"> </p> <p><INPUT type="checkbox" name="check[]" value="資料請求" />資料請求<INPUT type="checkbox" name="check[]" value="至急" />至急<INPUT type="checkbox" name="check[]" value="質問" />質問</p> <br /> <p><label for="massage">メッセージ:</label></p> <p><textarea name="message" cols="50" rows="20"></textarea></p> <p><input type="submit" value="内容の確認"></p> </form> check_inquiry.php <?php $title = htmlspecialchars($_POST['title'], ENT_QUOTES); $message = htmlspecialchars($_POST['message'], ENT_QUOTES); $m_check = $_POST['check']; ?> ■内容を確認してください。 <br> <form action="send_inquiry.php" method="POST"> <input type="hidden" name="title" value="<?php echo $title; ?>" /> <input type="hidden" name="message" value="<?php echo $message; ?>" /> <input type="hidden" name="check" value="<?php for($i=0; $i<sizeof($m_check); $i++){ echo "【${m_check[$i]}】"; } ?>" /> <br /> お名前: <br /> <?php echo $title; ?> <br /> 問い合わせ内容: <?php for($i=0; $i<sizeof($m_check); $i++){echo "【${m_check[$i]}】"; }; ?> <br /> メッセージ詳細: <br /> <?php // 改行部分にBRタグを埋め込む echo nl2br($message); ?> <br /> <input type="submit" value="お問い合わせ内容の送信"> </form> send_inquiry.php <?php $title = htmlspecialchars($_POST['title'], ENT_QUOTES); $message = htmlspecialchars($_POST['message'],ENT_QUOTES); $m_check = $_POST['check']; //日本語UTF8 mb_language('ja'); mb_internal_encoding('UTF8'); //自動送信<送信元のアドレス $name = '自動送信'; $email = 'メールアドレス'; $header = 'From: '. mb_encode_mimeheader($name) . '<' . $email .'>'; // メール送信 $result = mb_send_mail($email, $title, $message, $header, $m_check); //メール送信の確認 if ($result) { // メール送信の成功 echo '■管理人へ送信しました。'; } else { // メール送信の失敗 echo '■管理人への送信に失敗しました。'; } ?> チェックボックスにチェックを入れないと送信出来ますが チェックを入れると送信に失敗します。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • ラジオボタンについて

    つまらない質問ですがどうか教えてください。 <form name="myform"> ・ ・ ・ <INPUT TYPE="RADIO" NAME="R1" VALUE="1">関連あり</INPUT> <INPUT TYPE="RADIO" NAME="R1" VALUE="2">関連なし</INPUT> <INPUT TYPE="RADIO" NAME="R1" VALUE="3">不明</INPUT> </form> 上記のようなラジオボタンを作ったのですが、 このラジオボタンのチェックされた値を取得するには document.myForm.cGyoumu.value ではできないのでしょうか? LOOPさせながらdocument.myForm.elements(i).checked で探さないと取得できないのでしょうか? 同じフォーム内にラジオボタンが複数あるため、 この方法はあまりやりたくありません。 ほかに方法がありましたら、どうか教えてください。

  • 困っています。PHPでのC絞込み?

    簡易的なCSVファイルを作成し、それを参考に質問をしていくというHPを作成しています。 2点ほど分からないことがありましたので是非ご教授ください。 test.csvの内容は ai,bb,0 ai,cc,0 au,bb,1 au,dd,1 ao,aa,0 ao,cc,0 ao,dd,0 ao,gg,0 とあります。 最初のページ(test1.php)で・ai ・au ・aoを選ぶページをつくます。 (1) CSVファイルを使用して aiを選択した場合、次のページ(test2.php)での選択肢が・bb ・cc 同様に・auの場合、選択肢は・bb ・dd ・aoの場合、選択肢は・aa ・cc ・dd ・ggと表示したいです。 (2) さらに次のページで CSVを見て 0の場合は(test3.php) 1の場合は(test4.php)と移動したいです。 (1)の方は一応できたのですがプログラムの書き方が適切なのかが不安の為 もっと効率のよい書き方があれば教えてください。 test1.phpはhtmlのみのプルダウンなので略。 test2.phpでの自分の書き方は <form action=●●.php method=POST> <input type=hidden name=test1 value=<?php echo"".$_POST[test1].""?>> <?php $file=file("test.csv");  for($i=0;$file[$i]; $i++){   $data=explode(",",$file[$i]);   if(($_POST[test1]=="ai")&&($data[0]=="ai")){    echo"<input type=radio name=test2 value=".$data[1].">".$data[1]."<br>"; }elseif(($_POST[test1]=="au")&&($data[0]=="au")){ echo"<input type=radio name=test2 value=".$data[1].">".$data[1]."<br>"; }elseif(($_POST[test1]=="ao")&&($data[0]=="ao")){ echo"<input type=radio name=area value=".$data[1].">".$data[1]."<br>"; } } ?> <input type=submit value="次へ"> (2) ●●.phpを新たに作成して そこでincludeかrequireを使用してtest3.phpかtest4.phpに移動 するプログラムを作成しているのですが、うまく移動しません。 案がありましたら是非ご教授ください。 まだプログラムを勉強中なので少し解説をつけていただくとうれしいです。 よろしくお願いします。

    • 締切済み
    • PHP
  • ラジオボタンの選択でチェックボックスのON/OFFを連動

    ラジオボタンを選択すると、連動してチェックボックスにチェックが入れられる仕組みを作りたいのですが。 本番環境ではこの仕組みを3つほど使用したいです。 現在ここまでは出来ていますが、2つ・3つとこの仕組みを増やすと、動作が出来なくなってしまいます。 さらに、ラジオボタンを選択するたびにチェックボックスのチェックが初期化される仕組みにしたいのですが・・・>< どなたか教えて頂けないでしょうか? <html> <head> <script> window.onload=function(){ document.getElementById("deta1").onclick=function(){ detagroupDisabled(this.form,true); } document.getElementById("deta2").onclick=function(){ detagroupDisabled(this.form,true); } document.getElementById("deta3").onclick=function(){ detagroupDisabled(this.form,false); } } function detagroupDisabled(f,flg){ var objs=f.getElementsByTagName("input"); for(var i=0;i<objs.length;i++){ if(objs[i].className=="detagroup") objs[i].disabled=flg; } } </script> </head> <body> <form action="./postmail.cgi" method="post"> <input type="radio" name="FPCデータ" id="deta3" value="アリ"><label for="deta3">アリ</label> <input type="checkbox" name="FPCデータ アリ" id="DXF" class="detagroup" value="DXF" disabled><label for="DXF">DXF</label> <input type="checkbox" name="FPCデータ アリ" id="ガーバ" class="detagroup" value="ガーバ" disabled><label for="ガーバ">ガーバ</label> <input type="checkbox" name="FPCデータ アリ" id="PDF" class="detagroup" value="PDF" disabled><label for="PDF">PDF</label> <input type="radio" name="FPCデータ" id="deta1" value="ナシ" checked><label for="deta1">ナシ</label> <input type="radio" name="FPCデータ" id="deta2" value="アリ"><label for="deta2">相談</label><br><br> <input type="radio" name="補強板" value="ナシ" checked="checked">ナシ <input type="radio" name="補強板" value="アリ">アリ <input type="checkbox" name="補強板" value="ポリイミド">ポリイミド <input type="checkbox" name="補強板" value="ポリエステル">ポリエステル <input type="checkbox" name="補強板" value="ガラエポ">ガラエポ <input type="checkbox" name="補強板" value="相談">相談<br><br> <input type="radio" name="印刷" value="ナシ" checked="checked">ナシ <input type="radio" name="印刷" value="アリ">アリ <input type="checkbox" name="印刷" value="銀シールド">銀シールド <input type="checkbox" name="印刷" value="銀ペースト">銀ペースト <input type="checkbox" name="印刷" value="銅ペースト"> 銅ペースト <input type="checkbox" name="印刷" value="シルク">シルク 色 <SELECT NAME="印刷"> <OPTION SELECTED VALUE="---">--- <OPTION VALUE="白">白 <OPTION VALUE="黒">黒 <OPTION VALUE="他">他 </SELECT>   </form> </body> </html>

  • ラジオボタンとプルダウンで困っています。

    教えてgooの質問等を参考に携帯のサイトを作っております。 どうしても分からない部分がありましたので教えてください。 日付を選択するフォームを作成しており、内容は ラジオボタンで「今日の日付」「指定日」のどちらかを選択。 「指定日」を選択した場合は「指定日」の下にプルダウンで年月日を選択できるようにしております。 今日の日付は次のページにデータを渡すことができるのに 「指定日」の年月日はどうしても次のページに渡すことができません。 <form action=comf.php method=POST> <input type=radio checked name=day value="<?php echo"".$now_date = date("Ymd").""?>">1:今日 <br> <input type=radio name=day value=○○>3:指定日 <br> <select name="year" > <option value="2006">2006</option> </select> 年 <select name="month" > <option value="01">01</option> 月 <select name="date"> <<option value="01">01</option> 日 <input type=submit value="確認画面へ"> 指定日の「value=○○」には何を入れればよろしいのでしょうか? ご教授お願いいたします。

    • ベストアンサー
    • PHP
XK-110 wi-fiに接続できない
このQ&Aのポイント
  • XK-110を使用しているがwi-fiに接続できない問題が発生
  • ドライバーの更新後、wi-fiのマークが接続できていないアイコンに変更された
  • wi-fiルータの種類に関係なく接続できない状況が続いている
回答を見る

専門家に質問してみよう