HTMLとPHPによるページにアンケートを追加する際の問題

このQ&Aのポイント
  • HTMLとPHPによるページにアンケートを追加する作業で問題が発生しています。
  • プルダウンの複数選択にした場合、▼がなくなり常に開かれた状態になります。
  • また、プルダウンやリストボックスの高さを調整する方法についても知りたいです。
回答を見る
  • ベストアンサー

multipleを使用するとプルダウンの表示がおか

質問させて頂きます。 現在急遽仕事でHTMLとPHPによるページにアンケートを追加するという作業を任されたのですが 知識が無い分野で困っております。 内容は現在あるプルダウンを複数選択にするとプルダウンの▼がなくなり 常に開かれた状態になってしまいます。 更に問題なのが一行半分の高さしか開かないので狭い範囲をスクロールする状態になってしまいます。 最初はCSSが原因かと思いCSSを切ってみたのですが改善されませんでした。 ブラウザはファイヤーフォックス、クローム、オペラで確認しました。 記述は現在下記のように行っています。 <select size='1' multiple> <option value=''> </option> <option value="0" >あああ</option> <option value="1" >あああ</option> <option value="2" >あああ</option> <option value="3" >あああ</option> <option value="4" >あああ</option> <option value="5" >あああ</option> </select> チェックボックスで複数選択のやり方も考えたのですが何故か結果を表示するときに array になってしまいこちらも選べない状態です。 プルダウン、リストボックスの高さは調整ができるのでしょうか? お手数ですがご回答の程をよろしくお願いいたします。

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

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

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

multipleにするなら・・・ 表示したい行数をsizeに指定します 値なしのoptionはいらないです またnameを工夫するといいですね <form> <select name="hoge[]" size='6' multiple> <option value="0" >あああ</option> <option value="1" >あああ</option> <option value="2" >あああ</option> <option value="3" >あああ</option> <option value="4" >あああ</option> <option value="5" >あああ</option> </select> <input type="submit" value="go"> </form> <?PHP if(isset($_REQUEST["hoge"])) print_r($_REQUEST["hoge"]); ?>

bestp-
質問者

お礼

本当に初歩的な質問に丁寧にお応えいただき有難うございます。 参考にさせて頂きArrayを値にして出力することも出来ました 本当にありがとうございます。

関連するQ&A

  • multipleの取得

    現在、test1.phpのセレクトボックスで複数選択された値を、 test2.phpで取得させることをしています。 そこで、質問ですが、 <select name="sbox" multiple> <option>・・・ ・ ・ </select> を使ったセレクトボックスから、 複数の情報を取得するにはどうしたらいいですか? 現在は、複数選択したつもりでも、上書きされているためか、 最後のoption の値しか取得できません。 色んなページを参考にして、 <select name="sbox[]" multiple> にする方法を考えましたが、 このセレクトボックスはjavascriptで、 optionの数を変えています。 そのため、nameに[]を使うと、javascriptが動作しなくなってしまう ようです。 nameに[]を使う以外に、複数の値をPOSTする方法を教えてください。 わかりにくい質問で申し訳ないですが、よろしくお願いします。

    • 締切済み
    • PHP
  • プルダウンのoptionの表示・非表示はできますか?

    JavaScriptを使ってプルダウン操作をしております。 一つ目のプルダウンで選択したあと2つ目のプルダウンのoptionの部分だけ表示・非表示をしたいのです。そんなことはできるのでしょうか? 下のソースで説明しますが、一つ目のリストで「あいうえお」を選択した時点で2つ目の選択リストの「ひらがな1」と「ひらがな2」だけを選択できるようにしたいのです。「カタカナ1」「カタカナ2」は非表示もしくは選択不可にできればいいのですが。 一つ目のプルダウンリスト <select name="formtype" onchange="form_indicate();"> <option value="AAA">あいうえお <option value="BBB">アイウエオ </select> 二つ目のプルダウンリスト <select name="formtype2"> <option value="aaa">ひらがな1 <option value="bbb">ひらがな2 <option value="ccc">カタカナ1 <option value="ddd">カタカナ2 </select>

  • スマホのフォームでのselect複数選択の表示

    SPページでフォームを作っており、以下のソースのように、 selectで複数選択させたいと考えています。 --------------------------------------------------------------------------------------------------- <select name="" id="" multiple="multiple"> <option value="">ここから選択してください(複数選択可)</option> <option value="1">1枚</option> <option value="2">2枚</option> <option value="3">3枚</option> <option value="4">4枚</option> </select> --------------------------------------------------------------------------------------------------- 複数選択はできるのですが、iphoneで確認すると デフォルトのボタンの表示が「0 Items」と表示されます。 それをタップすると下にプルダウンが表示される形です。 このデフォルトの表示を「ここから選択してください(複数選択可)」 に変えたいのですが、初心者で調べてもわかりませんでした・・・。 誰かお知恵を貸して頂ければ幸いです。 よろしくお願い致します。

  • <select> をmultiple にしている場合で、指定したサイズ

    <select> をmultiple にしている場合で、指定したサイズより、optionが多い場合には、 スクロールバーが出ると思いますが、 下の方のoptionでスクロールしないと見れない項目を初期選択状態にしても、 最初にリストを表示したときには、スクロールが一番上にある状態で、 初期選択されているoptionが見えない状態になってしまいます。 multipleではないときは、初期選択状態のoptionのところまでスクロールバーが移動していて、 リストを表示したときには、スクロールバーを移動しなくても、初期選択のoptionを見ることができます。 【▼初期選択が見れるようにスクロールが移動している】 <HTML> <SELECT name="color" size=6 > <option value="red"> 赤 <option value="blue"> 青 <option value="yellow"> 黄 <option value="white" > 白 <option value="black"> 黒 <option value="purple"> 紫 <option value="orange"> オレンジ <option value="pink"> ピンク <option value="gold"> ゴールド <option value="silver" selected> シルバー </SELECT> </HTML> 【▼初期選択が見えない。スクロールが一番上にある】 <HTML> <SELECT name="color" size=6 multiple> <option value="red"> 赤 <option value="blue"> 青 <option value="yellow"> 黄 <option value="white" > 白 <option value="black"> 黒 <option value="purple"> 紫 <option value="orange"> オレンジ <option value="pink"> ピンク <option value="gold"> ゴールド <option value="silver" selected> シルバー </SELECT> </HTML>

  • Perlで<select multiple>の複数データを取得する方法

    Perlで、<select multiple>のデータを取得する方法を教えてください。 以下のように複数選択できるselectタグがあります。これで送信したデータを Perlで受けると、ARRAY(0x9bf0d18)のようになってしまいます。 環境は、以下のとおりです。(必要な部分だけ記載しています) ■送信元のHTML <select name="test" size="3" multiple> <option value="a">a <option value="b">b <option value="c">c </select> ■受け側のPerl use CGI_Lite; my %in = $cgi->parse_form_data(); print"Content-type: text/html\n\n"; print"$in{'test'}\n"; ■結果 ARRAY(0x9bf0d18) 以上、よろしくお願いします。

    • ベストアンサー
    • Perl
  • プルダウン&キーワードで

    こんにちは。こんな検索窓を作りたいと思っています。 __________________________   _______________ |__________________________|▼ |_______________| 検索     ↑             ↑   プルダウンで選択     キーワードを入力 プルダウンでカテゴリを選択し、その中から[A]を探したいというものです。 例えば、このような記述 <FORM ACTION="jump.cgi"> <SELECT NAME="jumpto"> <OPTION VALUE="-" SELECTED>カテゴリを選択</OPTION> <OPTION VALUE="page1.html">Page1</OPTION> <OPTION VALUE="page2.html">Page2</OPTION> <OPTION VALUE="page3.html">Page3</OPTION> </SELECT> <INPUT TYPE="submit" VALUE="検索"> </FORM> ________________  |________________|▼ 検索 のように、カテゴリのみになってしまいますよね。 プルダウン+キーワードで検索するには どのような記述をしたら良いでしょうか? 宜しくお願い致します!

    • ベストアンサー
    • CGI
  • プルダウン連動とリンク

    選択項目により連動するプルダウンを利用し、各々のページにリンクさせようと思っているのですが、上手くいきません。 一つ目のプルダウンで項目を選択⇒二つ目のプルダウンに項目が表示される⇒選択するとリンクする。 プルダウンはこちらのソースを利用しています。 http://d.hatena.ne.jp/Mars/20071109 連動リンクはこちらを参考にしました。 http://air.rulez.jp/shop/java/jt_pulldown.htm 現在のソースは下記のようになっています。 プルダウンの連動とリンク、それぞれ単体での動作確認は出来たのですが、組み合わせると上手くいきません。 最初のプルダウンで「YYY」を選択し、連動して次のプルダウンに表示される「yahooかgoogle」を選択したらURL先にリンクしたいのですが。 現在はプルダウンは連動はされるものの、2つめのプルダウンで項目を選択しても何も起こらない状態です。 ----------------------------------------------------------------- <script type="text/javascript" src="ConnectedSelect.js"></script> <form> <select id="SEL1"> <option value="XXX">XXX</option> <option value="YYY">YYY</option> </select> <select id="SEL2" onChange="top.location.href=value"> <optgroup label="XXX"> <option value="x1">x1</option> <option value="x2">x2</option> </optgroup> <optgroup label="YYY"> <option value="http://www.yahoo.co.jp/">yahoo</option> <option value="https://www.google.co.jp/">google</option> </optgroup> </select> </form> <script type="text/javascript"> ConnectedSelect(['SEL1','SEL2','SEL3']); </script> --------------------------------------------------------------- これはどのように修正すればリンクされるようになるでしょうか? また別の方法があればそちらでも構いません。 ご存知の方いらっしゃいましたらご教示ください。 よろしくお願いします。

  • プルダウンによる表示制御方法

    プルダウンの選択内容による表示の切り替えを行いたいです。 例えば、AとCを選択すると下にあるテキストボックスが非表示になり Bを選択するとテキストボックスが表示するように制御を行いたいです。 <table align="center" border="0" cellpadding="0" cellspacing="0"> <tr><td> <form name="a"> <SELECT NAME="b"> <OPTION SELECTED> <OPTION VALUE="0">A <OPTION VALUE="1">B <OPTION VALUE="2">C </SELECT> </td></tr> <tr><td> <input type="text" size="6" maxlength="5" name="text1" value=""> </td></tr> </form> </table></form></td></tr></table> すみませんが、よろしくお願い致します。

    • ベストアンサー
    • HTML
  • プルダウンからテキストボックスに入力

    プルダウンから選択したものをテキストボックスに表示させています。 <script type="text/javascript"> function displayText(thatOption, textId) { var text1 = document.getElementById(textId); text1.value = thatOption.title; } </script> <SELECT onchange="displayText(this.options[this.selectedIndex], 'text1');"> <option value="1" title=""></option>  #空欄 <option value="2" title="A">A</option> #大文字 <option value="3" title="a">a</option> #小文字 </SELECT> <input type="text" value="" id="text1"> プルダウンを2個や5個など複数用意して、それぞれ選択したものをテキストボックス1行に 続けて表示させたいです。 上記のプルダウンをA~Eまで用意した場合、[A b C D e]と表示させたり、Cは選ばず 空欄を選択した場合は、[A b D e]と表示させる事は可能でしょうか? また、テキストボックスにvalue="ZZ"と初期表示を入れて、その後に 続くように表示させたいです。 [ZZ A b C D e]とする事は可能でしょうか?

  • 文字の横にプルダウンを表示させたいのですが、どうすればいいでしょうか?

    例えば、プルダウンを作るのに下のようにつくると、「理解点」(文字)の下にプルダウンができてしまうのですが、これを、 理解点:の右横に表示させたいときはどうすればいいですか? ・・・ 理解点:<form> <select name="理解点"> <option value="1">5</option> <option value="2" >4</option> <option value="3">3</option> <option value="4">2</option> <option value="5">1</option> <option value="6">0</option> </select> </form> ・・・

    • ベストアンサー
    • HTML