• 締切済み

[Ethna]selectボックスに空値を入れたい

PHPフレームワークのEthnaにて、フォームヘルパーを使用してselectボックスを作成しています。 このselectボックスに空の値を先頭に入れたいと考えていますが、方法が見つからなかったため、教えていただきたいです。 --↓のようにしたい-- <select> <option></option> <option value="1">AAA</option> <option value="2">BBB</option> <option value="3">CCC</option> </select> --------------------- アクションフォームの$formメンバ内の、typeやform_typeなどのオプションの箇所に何か追加するだけで実現できたら非常に楽なのですが。。。(cakephpはそんな感じで空行を入れられる) よろしくお願いします。

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

みんなの回答

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

Ethnaの仕様はよくわかりませんが、配列で渡してやりキーと値をみているのであれば <?PHP $data=array(""=>"","x"=>"y"); var_dump($data); ?> 的な処理で、キーにも値にも空文字を渡してやるとかできませんか?

kazumae
質問者

補足

ご回答ありがとうございます。現状それで対応しているのですが、そうではなく、Ethna独自に空値をつけたり消したりという切り替えができる装置がないかな、と思いまして。 たとえばCakeだとフォームヘルパーにてemptyというパラメータを設定してあげることで空行を入れることができます。こんなかんじでいつでも切り替えられるような方法があると助かるな、と思ったのです。 ## cakephpのselectボックスを表示するフォームヘルパー echo $form->input('pref', array(  'type'=>'select',  'options'=>$pref,  'label'=>false,  'div'=>false,  'empty'=>'' ##←ここ ));

関連するQ&A

  • selectタグの項目を制御する

    フォーム内のプルダウンの項目を制御する方法がわからなくて困っています。 form1というフォーム内にプルダウンが3つあります。 <select name="select_1"> <option value="AAA">AAA</option> <option value="BBB">BBB</option> <option value="CCC">CCC</option> </select><br/> <select name="select_2"> <option value="AAA_1">AAA_1</option> <option value="AAA_2">AAA_2</option> <option value="BBB_1">BBB_1</option> <option value="CCC_1">CCC_1</option> </select><br/> <select name="select_3"> <option value="AC">AC</option> <option value="AB">AB</option> <option value="B_1">B_1</option> <option value="B_2">B_2</option> <option value="B_3">B_3</option> </select><br/> ●まず、select_1がAAAなら、select_2でAAA_1とAAA_2のみ選択できるようし、select_2で、AAA_1が選択されたらselect_3にACをAAA_2が選択されたらABを表示。 ●select_1でBBBが選択されたら、select_2にBBB_1のみを表示し、変更不可にする。そして、select_3にABC,B_1,B_2,B_3を表示。 ●select_3でCCCが選択されたら、select_2にCCC_1のみを表示して変更不可にし、select_3にACのみを表示して変更不可にする。 こんな感じにしたいのですが、どうもうまく出来ません。 考えたのは、各selectタグにonchange=change_1(form1)として、関数を呼び出し、 no= form1.select_1.selectedIndex; noが0なら thisForm.select_2.length = 2; //オブジェクトを2にする thisForm.select_2.options[0].value = "AAA_1"; の様にしたのですが、はじめに表示したoptionを消したりする方法や変更不可にする方法ってあるんでしょうか?また、ほかの方法など、どなたかわかる方がいましたら、よろしくお願いいたします。

  • セレクトボックスの値を増やしたい

    お世話になります。 セレクトボックスのOPTION値を増やしたいのですが、何か良い方法はないでしょうか。 実現したいことは、ボタンを押したときにテキストボックスの値をセレクトボックスの最下部に表示したいということです。 <INPUT TYPE="text" NAME="add_txt" VALUE=""> <SELECT NAME="lst"> <OPTION VALUE="aaa">aaa <OPTION VALUE="bbb">bbb <OPTION VALUE="ccc">ccc </SELECT> <INPUT TYPE="button" NAME="ent" VALUE="実行"> ------------------ この状態からtextに"ddd"という値を入れて実行ボタンを押した後、 <SELECT NAME="lst"> <OPTION VALUE="aaa">aaa <OPTION VALUE="bbb">bbb <OPTION VALUE="ccc">ccc <OPTION VALUE="ddd">ddd </SELECT> このような状態にしたいのですが、なにか方法はありますか。 ご存知の方いましたら、回答お待ちしています。

  • 2つのセレクトボックスで選ばれた結果をショッピングカートに渡したい

    同一ページ内に次の様な2つのセレクトボックスが有ります。 それぞれ選択された内容を足してショッピングカートに送りたいのですがどうしたら良いのでしょうか? セレクトボックス1 <option value="aaa">aaa</option> <option value="bbb">bbb</option> <option value="ccc" selected="selected">ccc</option> セレクトボックス2 <option value="100">100</option> <option value="200">200</option> <option value="300" selected="selected">300</option> ●セレクトボックス1→aaaを選択  セレクトボックス2→100を選択  ショッピングカートには「aaa100」で渡す ●セレクトボックス1→cccを選択  セレクトボックス2→200を選択  ショッピングカートには「ccc200」で渡す 全くの初心者ですがよろしくお願いします。

  • SELECTフォームの自働展開は可能ですか?

    <FORM> <SELECT name="TEST"> <OPTION value="AAA" selected>AAA</OPTION> <OPTION value="BBB">BBB</OPTION> </SELECT> </FORM> こういうフォームがあります。 このフォームの上にマウスポインタがあったら 自動的に展開して表示したいのですが 良い方法は無いでしょうか? Javaのonmouseoverを使ってみましたが 上に居る判断はつくのですがその後の処理がわかりません。 focusをあわせるだけだと選ばれるだけですし… よろしくお願いします。

  • SELECTボックスの内容を動的に変えるには

    2つのSELECTボックスを用意し、1つ目のSELECTボックスの内容により 2つめのSELECTボックスの内容(項目数も含め)を変える方法を教えてください。 下記のようなHTMLを作ってみましたが、2つ目のSELECTボックスに項目がないため「オブジェクトがありません」のエラーが出ます。 ------------------------------------------------------- <html> <head> <SCRIPT language="vbscript"> <!-- option explicit sub selchng() dim strsel strsel = sel1.selectedIndex Select Case strsel Case "1" sel2.item(0).value = "1" sel2.item(0).text = "1" sel2.item(1).value = "2" sel2.item(1).text = "2" Case "2" sel2.item(0).value = "a" sel2.item(0).text = "a" sel2.item(1).value = "b" sel2.item(1).text = "b" sel2.item(2).value = "c" sel2.item(2).text = "c" Case else sel2.item(0).value = "A" sel2.item(0).text = "A" End Select end sub --> </SCRIPT> </head> <body> <select name="sel1" onchange=selchng()> <option value="1" selected>1</option> <option value="2" >2</option> <option value="3" >3</option> </select> <select name="sel2"> </select> </body> </html>

  • セレクトボックスで指定した任意の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>

  • Selectボックスの一覧表示方法

    Selectボックスの一覧表示方法 いつもお世話になりますm(__)m <input type='text' name='hoge1'> <select name='hoge2'> <option value='1'>Aあああ</option> <option value='2'>Bいいい</option> <option value='3'>Cううう</option> </select> 上記のフォームがあった場合、hoge1を入力して、TABキーでhoge2のSelectボックスにフォーカスが移動した時、hoge2の一覧を表示させたいのですが、可能でしょうか? hoge2にフォーカスがある時に、キーボードのALT+↓を押した時と同じ動作を自動でしたいと思っています。 ※Accessでいうところの、xx.Dropdownと同じです いろいろ調べたところ、「onfocus="this.size=5"」でSelectボックス自体のサイズを変更して表示する方法は見つかりました。 しかし、上記のようにSelectボックス自体のサイズを変更せず、まさにALT+↓を押した状態(一覧が表示される状態)にしたいと考えています。 javascriptのonfocusで出来そうな気がするのですが、お詳しい方、是非ともお力添え下さい。 宜しくお願い致します。

  • リストボックスから直接引き金を引く

    お世話になります。 早速ですが、 今、あるaplを書いていまして、 処理内容はリストボックスからキーを選択させ、 そのキーでDBを検索、表示するというモノです。 現在のロジック、つくりは、 リストボックスの下に(「表示」という)ボタンを設置してあり、 リストボックスからキーを選択した後、 そのボタンを押すことでcgiに戻りDBを検索する、 となっています。 <FORM action="./DB.cgi" method="POST"> <div> <select name="key" size="3"> <option value="aaa">aaa <option value="bbb">bbb <option value="ccc">ccc <option value="ddd">ddd <option value="eee">eee <option value="fff">fff </select> </div> <input type=submit value="表示"> <input type="hidden" name="mode" value="display"> </FORM> ここで質問ですが、 リストボックスからキーを選択したらそのままDB検索へ移行するような コードを教えて欲しいのです。 (いちいち表示ボタンを押さなくて良いやり方です) 以上、宜しくお願いします。

    • ベストアンサー
    • Java
  • セレクトボックスのvalue値でactionを変更

    いつもお世話になっております。 メニュー(セレクトボックス)のvalue値によってフォームのactionの内容を変更する方法を探しています。 【JavaScript】ラジオボタンにより、formのaction内容を変更 http://okwave.jp/qa/q6003560.html という質問を見つけ、こちらのラジオボタンをセレクトボックスに変更したのですが、動作しません。 javascriptを変更しなくてはいけないのだとは思うのですが、まったくの素人のため、検討もつかず、相談に伺いました。 <script type="text/javascript"> <!-- function check(f){ var r=f.elements["aaa"]; var flg=false; var list={"A":"aaa.php","B":"bbb.php","C":"ccc.php"}; for(var i=0;i<r.length;i++){ if(r[i].checked){ f.action=list[r[i].value]; flg=true; break; } } } //--> </script> </head> <body> <form action="" onSubmit="return check(this)"> <input name="key" type="text" value=""> <select name="aaa"> <option value="" selected>Category</option> <option value="A">AAA</option> <option value="B">BBB</option> <option value="C">CCC</option> </select> <input type="button" value="Go"> </form> </body> </html> お分かりになる方、教えていただけると助かります。 よろしくお願いいたします。

  • ドコモのSELECTタグ

    ドコモのXHTMLのサイトを作っていますが、 1ページ内のSELECTタグの上限はありますでしょうか? SA700iでは15個しか表示されませんでした。 また、これは端末毎に違ってくるのでしょうか? --------------------------------------------- <form> <select name=test1><option value=1></select> <select name=test2><option value=1></select> <select name=test3><option value=1></select> ・ ・ ・ <select name=testn><option value=1></select> </form> --------------------------------------------- 宜しくお願いします。

    • ベストアンサー
    • HTML