• ベストアンサー

セレクトボックスの「選択してください」選択しても、未選択として扱いたい

メールフォームを作成しています。 CGIのメールプログラムを使って、セレクトボックス「A」を必須入力項目としたのですが、一番上のものが「選択されている」とみなされてしまい、改めて選択しなくても、メールが送信できてしまいます。 <select name="A"> <option value="選択してください"> 選択してください</option> <option valui="1">1</option> <option valui="2">2</option> <option valui="3">3</option> <option valui="4">4</option> </select> どうしたらいいでしょうか。 助けて下さる方、お待ちしております。

  • HTML
  • 回答数5
  • ありがとう数5

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

  • ベストアンサー
  • X-trail_00
  • ベストアンサー率30% (438/1430)
回答No.1

<option value="選択してください"> 選択してください</option> ↓ <option value=""> 選択してください</option> にすればいいのでは?

kasimu77
質問者

お礼

うまくいきました! ありがとうございます。

その他の回答 (4)

  • Hardking
  • ベストアンサー率45% (73/160)
回答No.5

どうして「選択してください」という文言を選択肢としたいなら メール送信時、セレクトボックス「A」の選択チェックを JavaScript(使用ブラウザーがIEと限定されるならVBScriptでも可) で行うのはどうでしょう。 <Script Language="JavaScript"> <!-- function selcheck() { var sIndex; //セレクトボックス「A」の選択肢番号を取得する。 sIndex = document.Main.A.selectedIndex; //未選択または、「選択してください」の選択している場合はエラー。 if (sIndex == -1 || sIndex == 0) { alert(); retrun; } //メール送信をする。 } //--> </Script> <form name="Main"> <select name="A"> <option value="選択してください">選択してください</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> </select> </form>

kasimu77
質問者

お礼

なるほど、今後の参考にさせていただきます。 ありがとうございました!

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

formはonSubmitでreturnでtrueを受ければ実行、 falseを受けるとキャンセルになりますのでこんなかんじです。 <form action="hoge.htm" method="get" onSubmit="return this.A.selectedIndex!=0"> <select name="A"> <option value="選択してください"> 選択してください</option> <option valui="1">1</option> <option valui="2">2</option> <option valui="3">3</option> <option valui="4">4</option> </select> <input type="submit" value="実行"> </form>

kasimu77
質問者

お礼

やってみたのですが、私の理解力が足りないせいか上手くいかず…(^^;)精進します。 ありがとうございました!

  • tkun62
  • ベストアンサー率23% (37/159)
回答No.3

<select name=jken> <option value="" selected>都道府県を選択 <option value="北海道">北海道 <option value="青森県">青森県 <option value="岩手県">岩手県 こんな感じで。

kasimu77
質問者

お礼

うまくいきました! ありがとうございました。 (数分差でポイントを差し上げられませんでした(^^;)すみません)

  • partita
  • ベストアンサー率29% (125/427)
回答No.2

<option value="">選択してください</option>にしてみてはどうでしょうか。

kasimu77
質問者

お礼

上手くいきました! ありがとうございました。

関連するQ&A

  • セレクトボックスの選択項目を変える

    セレクトボックスの選択項目を変えるには どうすればいいですか? <FORM action=./ method=post> <SELECT name=server> <OPTION value=2 selected>2</OPTION> <OPTION value=3>3</OPTION> <OPTION value=4>4</OPTION> </SELECT> </FORM> こういうフォーム(FORMやOPTIONにnameがない)で [4]を選択したいです このフォームを書き換えないで(スクリプトでの書き換えなら○) どうにか変えることはできないでしょうか? IEのみの対応でいいので、お願いします

  • 【HTML5】selectにrequierd

    HTML5でformのグループ化されたselectを必須にしたいと思い、 下記のようにrequiredを記述しました。 <select name="sample[]" required> <option value="">--</option> <optgroup label="カテゴリA"> <option value="1">選択肢1</option> <option value="2">選択肢2</option> </optgroup> <optgroup label="カテゴリB"> <option value="3">選択肢3</option> </optgroup> </select> そうすると、選択肢1を選択していても「必須項目です」と表示され、フォームが送信できません。 valueの値が1だと選択済として扱われないのでしょうか。 optgroupをなくすと選択肢1を選択した状態で送信できました。 valueの値は1で送信したいのですが、可能でしょうか。

  • iPhoneでセレクトボックスが選択できない

    スマートフォンにも表示対応している、フォームを作成しています。 セレクトボックスがあり、希望の値を選択するような項目があります。 <select name="sentaku"> <option value="A" selected>A</option> <option value="B">B</option> </select> ブラウザでも(IE9、crome)、iPhone5でも表示はされますが、 iPhone5で表示した場合、選択項目はグリグリって項目を選べる感じにはなるのですが、 項目をタップしても、決定されず、右上の完了を押さないと選択が決定されません。 ネットで検索し、メタタグ"viewport"をwidth=device-widthにしたり、width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no で試していますが、選択項目に関しては、項目名タップで決定できない状態です。 ページのURLを記載できないので、上記イメージだけで申し訳ありませんが、どなたかお解りになる方、宜しくお願い致します。

  • セレクトボックスの操作

    <select name="example1"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> </select> <input type="submit" name="1" value="追加"> 例えば、上記のセレクトボックスの3を選択して送信ボタンを押したら、3以外の4つの数字の値を持ったセレクトボックス(select name="example2)を出現させたいのです。(example1を残したまま) 選択した数字以外の値を持ったセレクトボックスを出現させたいです。 <select name="example2"> <option value="1">1</option> <option value="2">2</option> <option value="4">4</option> <option value="5">5</option> </select> <input type="submit"name="2" value="追加"> 上記のようになります。example2の1を選択し送信したら <select name="example3"> <option value="2">2</option> <option value="4">4</option> <option value="5">5</option> </select> <input type="submit" name="3" value="追加"> 上記のようになります。 上記の手順でセレクトボックスが3つに増えた場合のソースは次のような感じに <select name="example1"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> </select> <input type="submit" name="1" value="取り消し"> <select name="example2"> <option value="1">1</option> <option value="2">2</option> <option value="4">4</option> <option value="5">5</option> </select> <input type="submit"name="2" value="取り消し"> <select name="example3"> <option value="2">2</option> <option value="4">4</option> <option value="5">5</option> </select> <input type="submit" name="3" value="追加"> 取り消しを押した場合、そのセレクトボックスを削除し、一番新しいセレクトボックス(example3)に削除された値を追加したいです。 example2を取り消した場合、 <select name="example3"> <option value="1">1</option> <option value="2">2</option> <option value="4">4</option> <option value="5">5</option> </select> <input type="submit" name="3" value="追加"> 上記のようになります。 どのように記述すれば実現可能でしょうか? ご教示頂けますと幸いです。 宜しくお願いいたします。

  • セレクトボックスで現在選択されている値

    下記のセレクトボックスがあります。  print "<select name='atai'>";  print "<option value='abc'>abc</option>";  print "<option value='123'>123</option>";  print "<option value='xyz'>xyz</option>";  print "</select>"; 現在、選択されている値を $int の変数に入力 したいのですが、どうしたらいいのでしょうか。 例えば、$int=・・・・・・; というふうに代入 文でできることなのでしょうか。   この場合、現在表示されているCGIで、 $int が、abc か 123 か xyz か知りたい のです。

    • ベストアンサー
    • Perl
  • セレクトボックス の 選択規制

    今、フォームで入力画面を作っています。 その中にセレクトボックスが4つアリ、現在「未選択」の場合エラーチェックをするようにしています。 そして、ここにもうひとつのチェックを追加したいのですが皆目見当が付きません・・・ 条件 kaikai、bunkai1、bunkai2、heikai  全てが不参加の場合 "参加する会を最低一つは選択してください。"と言うコメントをだすというものです。 皆様よろしくお願いいたします。 ********  現在の JavaScript  ********* <SCRIPT language="JavaScript"> <!-- //フォームチェック function fcheck() { if(document.form1.kaikai.value == "未選択") { window.alert("選択してください"); return false; } if(document.form1.bunkai1.value == "未選択") { window.alert("選択してください"); return false; } if(document.form1.bunkai2.value == "未選択") { window.alert("選択してください"); return false; } if(document.form1.heikai.value == "未選択") { window.alert("選択してください"); return false; } } //--> </SCRIPT> ********  HTML内のフォーム  ********* <table> <tr><th>1 ( * )</th> <td> <SELECT NAME="kaikai"> <OPTION selected VALUE="未選択">選択してください</OPTION> <OPTION VALUE="参加">参加</OPTION> <OPTION VALUE="不参加">不参加</OPTION> </SELECT></td></tr> <tr><th>2 ( * )</th> <td> <SELECT NAME="bunkai1"> <OPTION selected VALUE="未選択">選択してください</OPTION> <OPTION VALUE="参加">参加</OPTION> <OPTION VALUE="不参加">不参加</OPTION> </SELECT></td></tr> <tr><th>3 ( * )</th> <td> <SELECT NAME="bunkai2"> <OPTION selected VALUE="未選択">選択してください</OPTION> <OPTION VALUE="参加">参加</OPTION> <OPTION VALUE="不参加">不参加</OPTION> </SELECT></td></tr> <tr><th>4 ( * )</th> <td> <SELECT NAME="heikai"> <OPTION selected VALUE="未選択">選択してください</OPTION> <OPTION VALUE="参加">参加</OPTION> <OPTION VALUE="不参加">不参加</OPTION> </SELECT></td></tr> </table>

  • 複数のselectで値で1つも選択されていないとき

    POST-MAIL(http://www.kent-web.com/data/postmail.html)で注文フォームを作成中で、 複数の商品の個数(デフォルトでは0に設定)をselectで選択させようとしています。 例: <tr><td class="center">NO.01</td><td>あんまん</td> <td><select name="あんまん"><option selected value="">0</option> <option value="1">1</option> (~略~) <option value="9">9</option></select></td></tr> <tr> <td class="center">NO.02</td><td>にくまん</td> <td><select name="にくまん"><option selected value="">0</option> <option value="1">1</option> (~略~) <option value="9">9</option></select></td></tr> POSTMAILの機能では、formのinput valueに入力必須項目を記入できますが、 これに加え、すべての商品のselect値が「0」に設定されている場合も cgiのエラー画面でエラーメッセージを出したいのですが、可能でしょうか? お知恵を貸していただけるようお願いいたします。

    • ベストアンサー
    • CGI
  • セレクトボックスで指定した任意のCGIにPOSTしたい

    フォームでリクエストを送信する際、セレクトボックスで指定した任意のCGIにPOSTしたいのです JavaScriptで実現したいのですが...教えてくださいm(__)m 下記はフォームの中身です。 <form action="" method="post"> <input type="text" name="key_word"> <select name="S1"> <option selected value="error">CATEGORY <option value="search_1.cgi">SELECT_1 <option value="search_2.cgi">SELECT_2</option> </select> <input type="hidden" value="kw_search" name="mode"> <input type="submit" value="検索"></td> </form>

  • 1つのセレクトボックスで2つのNAMEとVALUEをCGIに渡したいのですが

    Perlで作動するフリーウエアのCGIに、HTMLのフォームからデータを渡したいんですが、セレクトボックスで 3個セット 2000円 6個セット 5800円 9個セット 10500円 と選択肢を入れ、例えば<OPTION>の「6個セット 5800円」を選択して「カートへ」をクリックすると「NAME=shubetsu VALUE=6個セット」と「NAME=kakaku VALUE=5800」をいっぺんにCGIに送れるようにしたいのですが、方法はないでしょうか? 選択方法をセレクトボックスにせず例えば3つボタンを配置して、それぞれに「<a href="cart.cgi?kakaku=2000&shubetsu=3個セット>」「<a href="cart.cgi?kakaku=5800&shubetsu=6個セット>」とリンクを入れれば解決する問題ですが、ボタンを3つも配置する場所がないのと、ページ内でのバランスの関係でどうしてもセレクトボックスにしなければならない事情があるのです。

    • ベストアンサー
    • Perl
  • リストボックス全選択について

    JavaScriptについて質問です。 リストボックスA,B と プルダウンC という画面項目があると仮定し、 submitボタンを押下したとき、 リストボックスA,Bの項目全てが全選択され、プルダウン項目はそのままにしたいと考えております。 下記のソースのように作成したのですが、 リストボックスが全選択されるところまでは良いのですが、 プルダウン項目が最後の項目が選択された状態になってしまいます。 リストボックスだけが全選択され、プルダウン項目はそのままにするにはどうしたら良いでしょうか。 かなり困ってます。 どなたか助けてください。。 以下ソースです。 <html> <head> <script language="JavaScript"> <!-- function selectAll(){  var str = document.getElementsByTagName("option"); for(i=0;i<str.length;i++){ str[i].selected = true; } } //--> </script> </head> <body> <table> <tr> <td> リストA<br> <select name="listboxA" multiple> <option value="サンプル1">サンプル1</option> <option value="サンプル2">サンプル2</option> <option value="サンプル3">サンプル3</option> </select> </td> <td> リストB<br> <select name="listboxB" multiple> <option value="サンプル4">サンプル4</option> <option value="サンプル5">サンプル5</option> <option value="サンプル6">サンプル6</option> </select> </td> <td> プルダウンC<br> <select name="Pdown"> <option value="サンプル7">サンプル7</option> <option value="サンプル8">サンプル8</option> <option value="サンプル9">サンプル9</option> </select> </td> </tr> </table> <br> <input type=submit value="送信" onClick="selectAll()"> </body> </html>

専門家に質問してみよう