フリーCGI ラジオボタンの改行について | 画像付き

このQ&Aのポイント
  • フリーCGIを使用して作成したアンケートで、ラジオボタンの改行について困っています。デフォルトではラジオボタンが横並びになっているため、質問が長すぎると表示が見づらくなります。どの部分を変更すれば改行できるのか分かりません。
  • 提供されているフリーCGIを使用してアンケートを作成していますが、ラジオボタンの改行方法が分かりません。デフォルトの設定ではラジオボタンが横並びに表示されており、質問が長いと選択肢がはみ出してしまいます。
  • フリーCGIを使用して作成したアンケートで、ラジオボタンの改行方法を教えてください。現在、デフォルトではラジオボタンが横並びになっており、質問が長いと見づらくなってしまいます。どの部分を変更すれば改行できるのか分かりません。
回答を見る
  • ベストアンサー

フリーCGI ラジオボタンの改行についてです。

色々調べましたが、どうしても分からなかった為質問させて頂きます。 http://cgikon.com/search/detail.php3?cgi_id=308 こちらのフリーCGIをお借りして、アンケートを作成することになりました。 質問は、ほぼラジオボタンによる3択です。 デフォルトだと、ラジオボタンは横並びになっているのですが 質問内容が長過ぎるため、見づらくなってしまいます。 その為、ラジオボタンを添付画像のように改行したいと思っております。 おそらく、下記のどこかを変更すればいいとは思うのですが 分かりませんでした…。 # アンケート質問の表示 my($number) = 0; foreach (@question) { ($qtype,$qname,@column) = split(/\t/); next if($qname eq ""); $number++; $key = "Q".$number; print qq! <TR> <TD NOWRAP VALIGN="top"><B>【質問$number】</B></TD> <TD>$qname</TD> </TR> <TR> <TD> </TD> <TD> !; if($qtype =~ /LISTBOX/i) { print qq!<SELECT NAME="$key" SIZE=1>!; foreach (@column) { next if(!$_); print qq!<OPTION VALUE="$_">$_!; } print qq!</SELECT>!; } elsif($qtype =~ /RADIO/i) { foreach (@column) { next if(!$_); print qq!<INPUT TYPE="radio" NAME="$key" VALUE="$_">$_!; } } elsif($qtype =~ /TEXTAREA/i) { print qq!<TEXTAREA NAME="$key" COLS=50 ROWS=5></TEXTAREA>!; } elsif($qtype =~ /TEXTBOX/i) { print qq!<INPUT TYPE="text" NAME="$key" VALUE="" SIZE=50>!; } print qq! </TD> </TR> !; } 配布元のサイト様が今月末で閉鎖される為 それに伴い、個別でカスタマイズなどの依頼対応も出来ない状態です。 申し訳ございませんが、どなたか詳しい方 ご教授頂ければ幸いです。どうか宜しくお願い致します

  • CGI
  • 回答数1
  • ありがとう数1

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

  • ベストアンサー
  • diszo
  • ベストアンサー率78% (32/41)
回答No.1

print qq!<INPUT TYPE="radio" NAME="$key" VALUE="$_">$_!; ↑の文を print qq!<INPUT TYPE="radio" NAME="$key" VALUE="$_">$_<br>!; に書き換えればいいと思います。

jorjue
質問者

お礼

ご回答、有り難うございます。 diszo様の仰る通り <br>をいれたら改行されました! 専門外の為、困り果ててたので本当に助かりました。 感謝いたします…!! これを機会に基本から勉強してみたいと思います。 有り難うございました。

関連するQ&A

  • テキストエリア内でタグ<BR>を使わずにenterキーで改行したい

    myshop.cgiという、フリーのcgiを使いたくて、超初心者なりに色々 調べながらもなんとか思い通りに出来てきたんですが、一つだけ どうしても自分では解決できなくて、困ってます。 enterキーでは改行できず、<BR>でしか改行できないテキストエリア内に、 ある文章をコピペしたいんですが、コピペした後に、いちいち<BR>を 入れるのが面倒なんで、enterキーで改行できるようにしたいんです。 しかし、どこをどういじればいいのかさっぱりわからなくて・・・。 とりあえず悩んでる付近のコードを載せておきます。 超初心者です!よろしくお願いします! 解決したいテキストエリアは、「サイトの紹介文」を入力するとこです。 ------------------------------------------------------------- print <<"EOF"; </select>$nini</td> </tr> <tr> <td>カテゴリ3 <select name="ct3"> <option value="">選択しない</optin> EOF if ($use_sub) { foreach (0 .. $#cates) { @SUB = split(/\s+/, $subct[$_]); $i=0; foreach $j (@SUB) { print qq( <option value="$_\,$i">$cates[$_] &raquo; $j</option>\n); $i++; } } } if (!$print_url) { $nourl = qq(<span style="color:red;">現在非表\示に設定されています。</span> ); } print <<'EOF'; </select>$nini</td> </tr> <tr> <td>サイトタイトル <small>(タグ利用可\能\ / 同じECサイトのテキスト広告が効果的)</small><br> <input type="text" name="tl" size="68"></td> <tr> <tr> <td>バナーのHTMLコード <small>(アフィリエイト仲介サイトからコピー&amp;ペーストして下さい。)</small><br> <textarea name="code" cols="54" rows="8"></textarea></td> </tr> <tr> <td>サイトの紹介文 <small>(タグ利用可\能\ / 但し改行は反映されないので<span style="font-weight:bold;">&lt;br&gt;を使用</span>して下さい。)</small><br> <textarea name="msg" cols="54" rows="20"><BR><BR><BR><BR></textarea></td> </tr> <tr> <td>価格 <small>(タグも利用可\能\)</small><br> <input type="text" name="url" size="68"></td> <tr> <tr> <td>サイトに関係の深いキーワード <small>(任意。検索で使用、5個までで最大文字数は20文字。)<br> <input size="14" type="text" name="key1" maxlength="20"> <input size="14" type="text" name="key2" maxlength="20"> <input size="14" type="text" name="key3" maxlength="20"> <input size="14" type="text" name="key4" maxlength="20"> <input size="14" type="text" name="key5" maxlength="20"></td> </tr> <tr> <td>サイト紹介文の位置<br> <input type="radio" name="line" value="0" id="bot" checked><label for="bot">バナーの下</label> <input type="radio" name="line" value="1" id="sid"><label for="sid">バナーの横</label></td> </tr> <tr> <td>オススメマーク<br> <input type="radio" name="rec" value="0" id="ron" checked><label for="ron">付けない</label> <input type="radio" name="rec" value="1" id="rof"><label for="rof">付ける</label></td> </tr> <tr> <td>表\示状態 (非アクティブにチェックを入れると一覧には表\示されません。)<br> <input type="checkbox" name="no_act" value="1" id="nact"><label for="nact">非アクティブにする</label></td> </tr> <tr> <td align="center"><br> <input type="submit" value=" 登録する "><input type="reset" value="リセット"> </td> </tr> </table> </form> </div> </body> </html> EOF exit;

    • ベストアンサー
    • CGI
  • ラジオボタンの初期値について

    いつも大変お世話になってます。 ラジオボタンで、ページが読み込まれたら、値によって、 選択されている状態にしようと思っているのですが、うまくいきません。 以下、ソース部分です。 ★javascript部分 addOnload(function() { var tantou9 = "<%=szei_hasu_kbn%>" var element9 = document.getElementById("hasu"); for (var i=0; i<element9.options.length;i++) { if(element9.options[i].value === tantou9){ element9.options[i].checked = true; break; }; }; }); addOnload(function() { var tantou10 = "<%=szei_zei_kbn%>" var element10 = document.getElementById("zei"); for (var i=0; i<element10.length;i++) { if(element10.item[i].value === tantou10){ element10.item[i].checked = true; break; }; }; }); 上は、プルダウンの時の処理を真似てるので、違うんだろうなとは思います。 例えば、element10[1].checked = true; だけを実行してもダメでした。 addOnload(function()部分は、他の処理はできるので、ここは間違ってないと思います。 ちなみにサーバーサイドはASPで、<%=szei_zei_kbn%>に値が問題なく入ってることは、 確認できてます。 ★HTML部分です。 <tr> <th> <b>端数</b> </th> <td> <input id="hasu" type="radio" name="zei_hasu" style="width:100%" rows=1 value="0">四捨五入 </td> <td> <input id="hasu" type="radio" name="zei_hasu" style="width:100%" rows=1 value="1">切捨 </td> <td> <input id="hasu" type="radio" name="zei_hasu" style="width:100%" rows=1 value="2">切上 </td> </tr> <tr> <th> <b>税</b> </th> <td> <input id="zei" type="radio" name="zei_zei" style="width:100%" rows=1 value=0>外税 </td> <td> <input id="zei" type="radio" name="zei_zei" style="width:100%" rows=1 value=1>内税 </td> <td> <input id="zei" type="radio" name="zei_zei" style="width:100%" rows=1 value=2>非課税 </td> </tr> どなたかご存知の方がいらっしゃいましたら、ご教授お願いします。 宜しくお願いします。

  • ラジオボタンでの表示の切替方法

    2つのラジオボタンの切替によって、表示の切替を行いたいです。 例えば、Aを選択すると(1)の入力フォームが表示され、Bを選択すると(2)が表示したいです。初期表示はAが選択された時と同じ内容となります。 <table align="center" border="0" cellpadding="0" cellspacing="0"> <tr><td><form name="Quick1"> <tr><td>選択</td> <td> <input type="radio" name="A" value="1" checked>A  <input type="radio" name="B" value="2">B  </td></tr> <tr> <td>(1)</td> <td> <input type="text" size="6" maxlength="5" name="text1" value="">- <input type="text" size="6" maxlength="5" name="text2" value="">- <input type="text" size="6" maxlength="5" name="text3" value=""> </td></tr> <tr> <td>(2)</td> <td> <input type="text" name="text7" size="43" value=""> </td></tr> </table></form></td></tr></table> すみませんが、よろしくお願い致します。

  • テキストエリアの改行表示

    現在CGIの勉強を行っているのですが、 以下の点がうまくいかなくて困っています。 -----------HTML(例)------------------ 投稿名 :[ SAMPLE ] TITLE :[ SAMPLE1 ] TEXTAREA :[ aaaaaaaa _____________bbbbbbb] [投稿][リセット] -----------サブフレーム(bbs.cgi)----- 投稿名:[ SAMPLE ] TITLE :[ SAMPLE1 ] TEXTAREA :[ aaaaaaaa _____________bbbbbbb] ------------------------------------- 1.HTMLの方で投稿(サブフレーム形式) 2.BBS.CGIで処理を行う 3.TEXTAREAで改行を行って投稿した際の処理 (ここで投稿した際に別投稿として掲載されてしまいます。) *ソース #!/usr/local/bin/perl use CGI; #外部データの取得 $q = new CGI; #外部データの受取処理 $Name1 = $q->param('name'); $Name2 = $q->param('title'); $Name3 = $q->param('url'); $Name4 = $q->param('txt'); @FILE_FOR; $count=0; print "Content-type: text/html; charset=Shift_JIS \n\n"; #書き込み if($Name1 ne "" && $Name2 ne "" && $Name3 ne "" && $Name4 ne ""){ open(FH,">>log.dat"); print FH "$Name1,$Name2,$Name3,$Name4\n"; close(FH); } #読み込み if(!open(FH,"log.dat")){ print "読み込みに失敗しました。\n"; }else{ $F=0; foreach my $line (<FH>){ @FILE_FOR[$F] = $line; $F++; } } close(FH); #結果表示 if($F ne 0){ for($Y=$F;$Y > 0;$Y--){ $C = $Y; @BOX = split(/,/ ,$FILE_FOR[$Y - 1]); print "<CENTER>"; print "<HR><TABLE BORDER=2><TR><TD>No.$C</TD></TR>"; print "<TR><TD>投稿者:</TD><TD>@BOX[0]</TD></TR>"; print "<TR><TD>投稿タイトル:</TD><TD>@BOX[1]</TD></TR>"; print "<TR><TD>URL:</TD><TD><a href=@BOX[2]>@BOX[2]</a></TD></TR>"; print "<TR><TD>内容:</TD><TD><B>@BOX[3]</B></TD></TR></TABLE><HR>"; print "</CENTER>"; } }else{ print "現在は未投稿です。"; }

    • ベストアンサー
    • CGI
  • CGIデコードでつまづいています。

    PerlCGIのデコードでつまづいています。jcode.plで$valueの値を「%E3%81%BF%E3%81%AE%E3%82%8A%E5%8F%B0」から「みのり台」の日本語に変換しようとしたのですが「%E3%81%BF%E3%81%AE%E3%82%8A%E5%8F%B0」が返されてうまくいきません。申し訳ありませんが知恵を貸して頂けないでしょうか、よろしくお願い致します。 #!/usr/bin/perl require './jcode.pl'; #デコードするためのプログラム # プラウザからのデータ取込み #if ($ENV{'REQUEST_METHOD'} eq "POST") { # read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); #} #else { $buffer = $ENV{'QUERY_STRING'}; #} # プラウザからのデータ変換 #$i = 0; #※2 @pairs = split(/&/,$buffer); foreach $pair (@pairs) { #1行毎に$name,$valueを取り出す ($name, $value) = split(/=/, $pair); # 変換演算子 tr + を スペースに置き換え # $value =~ tr/+/ /; # 変換演算子 s/// 単語の構成文字にマッチ # $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; # " を &quot; に変換 # $value =~ s/"/&quot;/g; #\n を "" に変換 # $value =~ s/\n//g; print qq(   <tr><td>やった</td></tr>   ) , "\n"; # jcodeでデコードがうまく出来ませんでした。 # 日本語に変換(デコード処理部分) &jcode'convert(*value,'sjis'); &jcode'convert(*$name,'sjis'); # $FORM{$name} = $value; #※1 # @num[$i]=$value; #※2 # $i=$i++; #※2 # $str = decode('shiftjis', $value); # $value = encode('shiftjis', $str); } @varuee = split(/&*q=/,$ENV{'QUERY_STRING'}); print qq(   <HTML>   <HEAD>   <TITLE>画像の検索結果</TITLE>   </HEAD>   <BODY bgcolor="#FFFFFF">  <H2 align="center">画像データベースの検索結果</H2>  <!--画像の検索結果を2~3件ためしに表示-->  <BR>   <hr>   <CENTER>   <table> ); print qq(   <tr><td>$value</td></tr>   ) , "\n"; exit;

    • ベストアンサー
    • Perl
  • 複数のテーブルをラジオボタンで背景を変える

    javascriptは、まだ全くの初心者で色々探しながら勉強しています。 過去の質問で動作が似ているものがあったのですが、 複数のテーブルに使えるように変更したいのですが 全くやり方が分かりません。 宜しくお願い致します。 2つのテーブルがあります。 id=AAA と言うテーブルは、今日の天気のラジオボタン id=BBB と言うテーブルは、今日の花粉のラジオボタン だとします。 各テーブル内のラジオボタンが選択されたら、 そのテーブルだけに影響するセルの色変更。 つまり、 AAAのテーブル内のラジオボタン選択時は、AAAのセルの色を黄 BBBのテーブル内のラジオボタン選択時は、BBBのセルの色を赤 にしたいのです。 下記にサンプルコードを書きました。 これだと、AAAのテーブルのラジオボタンをクリックすると BBBのテーブルの背景色がクリアされてしまいます。 どうやって引数を渡していいのか分かりません。 宜しくお願い致します。 <html> <head> <title>test</title> <script type="text/javascript"> <!-- var saveTr; function setBg(rd) { if(saveTr) saveTr.bgColor="white"; saveTr=rd.parentNode.parentNode; saveTr.bgColor="yellow"; } --> </script> </head> <body> <table id='AAA'> <tr><td> 今日の天気 </td></tr> <tr><td> <input type='radio' name='tenki' value='1' onClick="setBg(this);">晴れ<br> </td></tr> <tr><td> <input type='radio' name='tenki' value='2' onClick="setBg(this);">曇り<br> </td></tr> <tr><td> <input type='radio' name='tenki' value='3' onClick="setBg(this);">雨<br> </td></tr> </table> <br> <table id='BBB'> <tr><td> 花粉の量 </td></tr> <tr><td> <input type='radio' name='kafun' value='1' onClick="setBg(this);">多い<br> </td></tr> <tr><td> <input type='radio' name='kafun' value='2' onClick="setBg(this);">普通<br> </td></tr> <tr><td> <input type='radio' name='kafun' value='3' onClick="setBg(this);">少ない<br> </td></tr> </table> </body> </html>

  • foreachの中で使われている\の意味

    ●質問の主旨 下記のforeach文の中で使われている"\"は、 どういう意味で使われているのでしょうか? ご存知の方、ご教示よろしくお願いします。 ●コード(index.phpの一部) <tr> <td>書籍の満足度は?</td> <td> <?php // 配列からラジオボタンを作成する $ar_rate = array( "5"=>"満足", "4"=>"やや満足", "3"=>"普通", "2"=>"やや不満", "1"=>"不満", ); foreach ($ar_rate as $key=>$value) { echo "<input type=\"radio\" name=\"rate1\" value=\"{$key}\">{$value}"; } ?> </td> </tr> <tr> <td>書籍のボリュームは?</td> <td> <?php // 配列からラジオボタンを作成する foreach ($ar_rate as $key=>$value) { echo "<input type=\"radio\" name=\"rate2\" value=\"{$key}\">{$value}"; } ?> </td> </tr> ●参考文献 西沢直木 PHPプログラミングの教科書P175

    • ベストアンサー
    • PHP
  • ラジオボタンを複数選択して、リンクへ飛ぶ

    初心者です。これだと、二つのネームしか選択できないのですが、三つ、四つにに増やすにはどうしたらいいのでしょうか? <script language="javascript"><!-- //リンク先の設定(URL) al=new Array(); al[0]="http://yahoo.co.jp/";//A+D al[1]="http://google.co.jp/";//A+E al[2]="http://www.goo.ne.jp/";//A+F al[3]="";//A+G al[4]="";//B+D //(略) al[11]="";//C+G(※この場合は0~11の値が入ります) function xLunch(){ aUe = document.getElementsByName("ue"); aSita =document.getElementsByName("sita"); for(i=0;i<aUe.length;i++){ if(document.getElementsByName("ue")[i].checked==true){ nUeSel=i; break; } } for(i=0;i<aSita.length;i++){ if(document.getElementsByName("Sita")[i].checked==true){ nSitaSel=i+1; break; } } nC = (aSita.length*nUeSel)+nSitaSel; location.href=al[nC-1]; } --> </script> <table border="1"> <tbody> <tr> <td>一つ目を選択してください。</td> </tr> <tr> <td><input type="radio" name="ue" checked>A <input type="radio" name="ue">B <input type="radio" name="ue">C</td> </tr> <tr> <td>二つ目を選択してください。</td> </tr> <tr> <td><input type="radio" name="sita" checked>D <input type="radio" name="sita">E <input type="radio" name="sita">F <input type="radio" name="sita">G </td> </tr> <tr> <td align="right"><input type="button" value=" OK " onclick="xLunch()"></td> </tr> </tbody> </table>

  • クリックしたラジオボタンの行番号を取得したい

    Jqueryを用いてクリックしたラジオボタンの行番号を取得したいのですが、 うまくいきません。 次のようなHTMLで <table border="1" style="font-size:12px;"> <tr> <td>2014年06月01日</td> <td> <label><input type="radio" name="rd1" class="rd" value="0" />A</label> <label><input type="radio" name="rd1" class="rd" value="1" checked="checked" />B</label> <label><input type="radio" name="rd1" class="rd" value="7" />C</label> </td> </tr> <tr> <td>2014年06月02日</td> <td> <label><input type="radio" name="rd2" class="rd" value="0" />A</label> <label><input type="radio" name="rd2" class="rd" value="1" checked="checked" />B</label> <label><input type="radio" name="rd2" class="rd" value="7" />C</label> </td> </tr> <tr> <td>2014年06月03日</td> <td> <label><input type="radio" name="rd3" class="rd" value="0" />A</label> <label><input type="radio" name="rd3" class="rd" value="1" checked="checked" />B</label> <label><input type="radio" name="rd3" class="rd" value="7" />C</label> </td> </tr> <tr> <td>2014年06月04日<td> <td> <label><input type="radio" name="rd4" class="rd" value="0" />A</label> <label><input type="radio" name="rd4" class="rd" value="1" checked="checked" />B</label> <label><input type="radio" name="rd4" class="rd" value="7" />C</label> </td> </tr> </table> 下記で選択したラジオボタンの値を取得できるのですが、 行の番号が取れません。 //ラジオボタンを変更 $('.rd').change(function(){ val = $(this).val(); alert("hoge " + val); }); どのようにしたら良いでしょうか? 宜しくお願いいたします。

  • ラジオボタンでジャンプ先を変更

    はじめまして。javascript初心者です。 答えの選択肢が3つあるクイズのページを制作したいと思っています。 どれか1つのラジオボタンをチェックした後、「クイズに答える」ボタンをクリックすると 正解または不正解のページにジャンプする、という形にしたいのですが 制作したものがMacのIE5できちんと動作してくれません。 winのIEなどでは大丈夫でした。わからず、とても困っています。 どうすれば正常に動くようになるのかアドバイスをいただけたらと思います。 javascript、htmlはそれぞれ下記のように書いています。 ■javascript function Check() { var tolink = document.url for(i=0 ; i<=tolink.list.length -1 ; i++){ if (tolink.list[i].checked) { var n = tolink.list[i].value; document.location.href=n; } } } ■html <FORM name="url"> <table> <tr> <td><INPUT type="radio" name="list" value="correct.html">a</td> <td><INPUT type="radio" name="list" value="mistake.html">b</td> <td><INPUT type="radio" name="list" value="mistake.html">c</td> <td><a href="#" onClick="Check()" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image1','','quiz_over.gif',1)"><img src="quiz.gif" alt="クイズに答えるボタン" name="Image1" width="200" height="30 border="0"></a></td> </tr> </table> </FORM> よろしくお願いいたします。

専門家に質問してみよう