• ベストアンサー

追加記入もできるプルダウンメニューの作り方

こんばんわ。 タイトルに書いたように、 普通のプルダウンメニュー(以下メニュー)ではなく追加でメニュー以外の値を 記入できるようなものを作りたいと思っているのですが、どうやってよいものか悩んでおります。 今、情報(名前、住所、生年月日等)を 入力するフォームを作っています。 最終的にはメールで送信することになります。 その中で誕生日の西暦部分をメニューにして作っていたのですが、 あまりに対象範囲が多く(1900年代前半~2002年まで) それらをリストとして表示するのはあまり好ましくないということがあり、 1960年以降をメニューにして、 1959年以前の方には、そこに記入してもらうような方法はできないかと考えています。 メニューですと、 <SELECT NAME="***"> <OPTION VALUE="1960">1960</OPTION> <OPTION VALUE="1961">1961</OPTION> ・ ・ </SELECT> などと書けますが、これに「INPUT TYPE」のようなものを併用して、 書き込んだ方の年号をVALUE値としてくれるようにできないものなのでしょうか? 例)***=1952(1952と記入したものがVALUE値として返ってくる) 自分で試してみたのですが、思った結果にはなりませんでした。 これを実現する良い方法を知っている方がいましたら、 教えていただけないでしょうか? どうぞよろしくお願いします。

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

  • ベストアンサー
  • taka2456
  • ベストアンサー率29% (36/122)
回答No.3

kentonさんのイメージに近いかどうかわかりませんが 一応こんなのでどうでしょうか ただ、プルダウンの下向き▼を2度押さないとメニュが表示されない 欠点があります <FORM name="MYFORM"> <DIV id="PULL" style="position:absolute;top:100px;left:100px;visibility:hidden" onclick="kesu_shori()"> <SELECT name="xx"> <OPTION value="1960">1960</OPTION> <OPTION value="1961">1961</OPTION> <OPTION value="1962">1962</OPTION> <OPTION value="1963">1963</OPTION> </SELECT> </DIV> <DIV id="NEN" style="position:absolute;top:100px;left:100px;visibility:visible"> <INPUT type="text" name="YEAR" maxlength="4" size="5"> </DIV> </FORM> <DIV id="MENU" style="position:absolute;top:100px;left:133px;visibility:visible" onclick="pull_hyoji()"> <IMAGE src="pull.jpg" height="23" width="20"> </DIV> <SCRIPT LANGUAGE="JavaScript"> function pull_hyoji(){ document.all.PULL.style.visibility = "visible"; } function kesu_shori(){ document.all.PULL.style.visibility = "hidden"; document.MYFORM.YEAR.value=document.MYFORM.xx.options[document.MYFORM.xx.selectedIndex].value; } </SCRIPT> 最初、上をコピーして新規に別ファイルで作成して確認してください よければ位置などを設定してください テストは十分にお願いします

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

その他の回答 (3)

  • taka2456
  • ベストアンサー率29% (36/122)
回答No.4

下で画像を使ってるのですが pull.jpgというファイルは、プルダウンメニューの右にある 下向きの三角形の画像です 画面をコピーしてペイントなどで加工して作ってください

kenton
質問者

お礼

taka2456さん、回答ありがとうございます。 ソースまで頂けるとは、思ってもいませんでした。 感謝です。 下の方のお礼にも書きましたが、 実際には依頼者との間で、年代を絞る方法で進めることに落ち着きました。 ソースを載せていただいたので、実際に動きを試してみて、自分の持ちアイテムの一つに加えようと思います。 JavaScriptは不勉強でわからないので、これを機に勉強してみようと思います。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • chun-2
  • ベストアンサー率47% (24/51)
回答No.2

ご質問は、ひとつのプルダウンメニューの中にユーザーが入力できるフィールドを作れないか、ということでしょうか? であれば、これは難しい(というより出来ないのでは?)と思います。 (すみません、この部分自信ありません) 問題はリストのオプション項目が多く成りすぎてしまう、ということでしょうから、以下の様にしてみてはいかがでしょう。 1.プルダウンメニューを3つにわけ、横にぴったりとくっつけて表示する。 2.ひとつめのプルダウンメニューのオプションは、「19」と「20」を設定する。 3.ふたつめ、みっつめのプルダウンメニューには「0」から「9」までの数字をそれぞれ設定する。 上記のvalue値を連結させて受け取る。というかたちにすれば、1900年から2099年までが指定できるようになります。 ユーザーにとっても、ひとつの項目で選ぶ、というアクションと書き込む、というアクションが混在しなくて楽なのではないかと思うのですが、いかがでしょうか?

kenton
質問者

お礼

回答ありがとうございます。 返事が遅くなり申し訳ありません。 更に説明が的を得ておらず申し訳ありません。 かなり無理難題だったのですね。(^_^;) chun-2さんの提案されている方法、目からウロコでした。 ありがとうございます。 実際には依頼者との話し合いで、年代を絞ることになってしまったのですが、このような表記方法も一つの手だと自分のアイテムにしておきます。

全文を見る
すると、全ての回答が全文表示されます。
  • so_blue
  • ベストアンサー率48% (50/104)
回答No.1

> 「INPUT TYPE」のようなものを併用して、 > 書き込んだ方の年号をVALUE値として 普通に<input type=text name=***>ではダメでしょうか? プルダウンとテキストを併用させた場合は、 *プルダウンの初期表示はvalueを持たせない *メール送信前にプルダウンorテキストのどちらかに値があるかチェック が必要かと思います。 単純にnameを同じにしておけばいいかも....

kenton
質問者

お礼

so_blueさん、ありがとうございました。 他の方の回答にも書きましたが、依頼者との話し合いの結果、年代を絞ることになりました。 今回の件は、僕も良い勉強になりました。 今後も何かの際にはよろしくおねがいします。

kenton
質問者

補足

回答ありがとうございます。 実際に上記のようにやってみたのですが、 テキストボックスとメニューリストが併記されて2つ表示されてしまいました。 >単純にnameを同じにしておけばいいかも.... というのは、OPTIONタグの方のことでしょうか? もうちょっと試してみます。。。

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

関連するQ&A

  • プルダウンメニューの数

    現在、 <td colspan="5" align="center"> 列数: <select name="COL"> <option value="6">6列</option> <option value="10">10列</option> </select> <input type="submit" value="再表示"></input> </td> このような形でプルダウンメニューを作成したのですが 現在、2つの値を設定しているのですがこれを、設定ファイルのような物で制御したいと考えているのですがどのようにすれば宜しいでしょうか? データバインド等を使ったのですがうまくいきません。 よろしくお願いします

  • プルダウンメニューのフォームについて

    プルダウンメニューって1回リロードするとデフォルトのメニュー (一番上のメニュー、またはselected属性のメニュー)が選択されますよね。 たとえば、以下のフォームでチョキを一度「送信」すると、 再読み込みにされて「グー」が表示されてしまいます。 これを「送信」した後も「チョキ」を連続で選択できるようにしたいのですが良い方法はあるでしょうか? (利用者が一旦別のページに飛んだ場合はデフォルトに戻っていいのですが・・) --------------------------------------- <form method="post" action="janken.php"> モード <select name="mode" size="1"> <option value="janken">ジャンケン</option> <option value="gp">グーパー</option> </select> 手 <select name="skill" size="1"> <option value="goo">グー</option> <option value="choki">チョキ</option> <option value="par">パー</option> </select> <input type="submit" value="送信"> </form> 以下、結果を出力するphp ------------------------------------- htmlタグだけで実現可能でしょうか? htmlで不可の場合、phpを使用するつもりですが、 if文で一つ一つのメニューに「前回コレを送信していたら選択」というのが思い浮かびますが、 もっとスマートなやり方はあるでしょうか? 別の質問になりますが、モードで「グーパー」を選んでいる時はチョキを選択できないようにしたいのですが、これはhtmlだけでは実現不可能でしょうか? よろしくお願いいたします。

    • ベストアンサー
    • HTML
  • <input>のvalue値をプルダウンメニューから受け取りたいのです

    <input>のvalue値をプルダウンメニューから受け取りたいのですが、Javascriptを使用すれば出来るものでしょうか?もし可能でしたら、そのコードを教えて頂きたいです。 当方htmlとcssが少し出来る程度で、ウェブで調べても分からなかったので質問させていただきました。 以下はソースになります。 プルダウンのソース: <FORM> <SELECT> <OPTION SELECTED>SELECT</OPTION> <OPTION VALUE="AAABBB">A</OPTION> <OPTION VALUE="BBBBBB">B</OPTION> <OPTION VALUE="CCCCCC">C</OPTION> </SELECT> </FORM> ↑上で選択したvalueの値を、↓下の「ここの値」に渡したいです。 inputのソース: <input name="hosted_button_id" value="ここの値" type="hidden"> 宜しくお願いいたします。

  • <input>の選択肢をプルダウンメニューから受け取り、hiddenで

    <input>の選択肢をプルダウンメニューから受け取り、hiddenで渡したいのですが、どうすればよいでしょうか? ▽プルダウン例 <FORM> <SELECT> <OPTION SELECTED>SELECT</OPTION> <OPTION VALUE="1">A</OPTION> <OPTION VALUE="2">B</OPTION> <OPTION VALUE="3">C</OPTION> </SELECT> </FORM> ↑上で選択した値(A or B or C)値を、↓下のvalue=「"hoge"」に渡したいです。 ※選択肢は3つだけではなくて、たくさんあります。 ▽input例 <input name="hosted_button_id" value="hoge" type="hidden"> http://okwave.jp/qa/q6016233.htmlの質問内容が知りたいことに近かったのですが、value値ではなくて、選択した内容そのものをhiddenへ渡す方法を教えてください。

  • フレームを使ったプルダウンメニュー

    フレームで「ヘッダー・左メニュー・右メインページ」というように3分割にし、左メニューに置いたプルダウンから項目を選ぶと右メインに表示される、という構造にしたいと思っています。 <HEAD>~</HEAD>内↓ <script language="JavaScript"> function jump(form) { var myindex=form.destination.selectedIndex window.open(form.destination.options[myindex].value, target="main"); } //--> </SCRIPT> プルダウン部分↓ <FORM NAME="form"> <SELECT NAME="destination"> <OPTION VALUE="a.html" SELECTED>あ</OPTION> <OPTION VALUE="k.html">か</OPTION> <OPTION VALUE="s.html">さ</OPTION> <OPTION VALUE="t.html">た</OPTION> <OPTION VALUE="n.html">な</OPTION> </SELECT> <INPUT TYPE="image" SRC="go.gif" onClick="jump(this.form)" BORDER="0"> </FORM> という様に記述した所、例えばプルダウンで「た」を選択した場合、右フレームにちゃんとt.htmlが表示されるのですが、左フレームのプルダウンの項目が「あ」に戻ってしまいます。「た」を選択した状態のまま残したいのですが。 ちなみにボタンに画像を使わず、<INPUT TYPE="button" ・・・・>にするとなぜか「た」選択の状態でちゃんと残ります。でも、できれば画像を使いたいのです。 うまいやり方をご存じの方は、教えていただけますか。おねがいします。

  • 複数のプルダウンメニューの作り方。

    ・Aリスト、Bリスト…とプルダウンメニューを複数含んだフォームを一つのhtmlに作りたいのですが、上手くいきません。 一つのフォームに一つのプルダウンメニューは上手くいくのですが、Javascriptを二つ並べると動かなくなります。 とりあえず関数名を重複しない様にしたらいいという事だけはネットで調べてわかりました。 今は、下記の状態になっています。 <script language="JavaScript"> <!-- function MENU(){ mySelect = document.myForm.myMenu.selectedIndex; location.href = document.myForm.myMenu.options[mySelect].value; } // --> </script> <form name="myForm"> <select name="myMenu" onChange="MENU()"> <option value="">A</option> <option value="a001.html">A001</option> <option value="a002.html">A002</option> <option value="a003.html">A003</option> </select> <select name="myMenu2" onChange="MENU()"> <option value="">B</option> <option value="b001.html">B001</option> <option value="b002.html">B002</option> <option value="b003.html">B003</option> </select> </form> ご指南の程宜しくお願いします。

  • 携帯サイトでプルダウンメニューを作る方法

    携帯サイトでプルダウンメニューでリンクしたいのですが作る方法がわかりません。 あるサイトのタグ作成機でプルダウンメニューを作ったのですが <FORM ACTION="."> <SELECT> <OPTION>テスト1 <OPTION>テスト2 <OPTION>テスト3 </SELECT> </FORM> て出ました。この各メニューを押すとリンク先に飛ぶようにしたのですが <FORM ACTION="."> <SELECT> <OPTION value=http://www.yahoo.co.jp/>テスト1 <OPTION value=http://www.google.co.jp/>テスト2 <OPTION value=http://jp.msn.com/>テスト3 </SELECT> </FORM> としてみましたができませんでした。どこがおかしいのでしょうか? ところで<FORM ACTION=".">のACTION="."の部分は何かいれるのでしょうか?わかりません。詳しい方教えてくださるとありがたいです ドコモやソフトバンクなど対応していない会社があるのでしょうか?

  • プルダウンメニューでフォームのターゲット先を変更したい。

    プルダウンメニューでフォームのターゲット先を変更する方法をしえてもらえませんか? 下記の様にすると_topを指定しても新しいウィンドウが開いてしまいます。 <FORM name="test2" action="http://hoge.cgi" target=yyy.value> <INPUT type="text" size="34" name="word"><SELECT name="search"> <OPTION value="yahoo" selected>Yahoo!Japan</OPTION> <OPTION value="google">google</OPTION> </SELECT> <SELECT name="yyy"> <OPTION selected>窓選択</OPTION> <OPTION value="_blank">別窓</OPTION> <OPTION value="_top">同窓</OPTION> </SELECT> <INPUT type="submit" value="検索"> </FORM>

  • プルダウンメニューのvalue値を連携したい。

    お世話になります。 初心者です。 下記のようなプルダウンメニューがあるのですが、 select name = "no" の1を選んだら その下の select name、 no_1、no_2、no_3、no_4、も 1になるよう、また select name = "no" の2を選んだら その下の select name、 no_1、no_2、no_3、no_4、も 2になるように連携したいのです、 またそれぞれのvalue値をPHPでPOSTしたいのです。 どうやったらできるのかわかりません サンプルプルグラム等でも良いので ご教授の程よろしくお願い致します。 <form name="name_no" id="name_no" method="post" onSubmit="return check()"> <select name = "no"> <option value = "1">1</option> <option value = "2">2</option> </select> <select name = "no_1"> <option value = "1">1</option> <option value = "2">2</option> </select> <select name = "no_2"> <option value = "1">1</option> <option value = "2">2</option> </select> <select name = "no_3"> <option value = "1">1</option> <option value = "2">2</option> </select> <select name = "no_4"> <option value = "1">1</option> <option value = "2">2</option> </select> </form> <input type="submit" >

  • プルダウンメニューの利用

    htmlのプルダウンメニューを使用した値計算のインタフェースを作成したいと思っています。 プルダウンメニューに設定するメニュー項目に値を設定し、 onChangeを使用して、その値だけをPHPプログラムに渡すようにしたいのですが、 JavaScript部分をどのように書けばいいのか判りません。 どなたかご教授お願いいたします。 <form name="formtest" action="test.php" method="post"> <table> <tr> <th>カテゴリ*</th> <td> <SELECT NAME="iPlanet" onchange=""> <OPTION VALUE="9" selected>初期値 <OPTION VALUE="0">サンプル1 <OPTION VALUE="1">サンプル2 </SELECT> </td></tr> </table> </form> onchangeでValueの値をPHPに送りたいのです。 よろしくお願いします。

このQ&Aのポイント
  • LP-S5000を使用してカラー印刷する際に、まだらに印刷される問題が発生しています。
  • 一色で印刷すると分かりやすいですが、特に上下がかすれます。
  • EPSON社製品のLP-S5000を使っている場合、カラー印刷時にまだらな印刷結果が出てしまう問題が起きています。特に上下の部分がかすれることが多く、印刷結果が見づらくなってしまいます。
回答を見る