HTMLコンボボックスへの項目追加

このQ&Aのポイント
  • HTMLのWeb作成中の方へ。HTMLコンボボックスに項目を追加する方法を教えます。
  • HTMLコンボボックスにvbscriptで項目を追加する方法を解説します。
  • HTMLのコンボボックスに項目を追加したい方へ。簡単なサンプルコードをご紹介します。
回答を見る
  • ベストアンサー

HTMLコンボボックスへの項目追加

今、HTMLのWebを作成しているのですが行き詰ってしまったので、何か方法をご存知の方がおられたら、教えて頂けたらと思います。 下記のようなコンボボックスにvbscriptで項目を追加していきたいのですが、うまくいきません。 --------------------------------- <form name="myform"> <select name="name1"></select> <select name="name2"></select> </form> --------------------------------- 何かよい方法はありますでしょうか? 簡単なサンプルコード等を記述して頂けると助かります。 よろしくお願いします。

noname#34920
noname#34920

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

  • ベストアンサー
  • dsuekichi
  • ベストアンサー率64% (171/265)
回答No.3

> Set myOption = myform.name1.createElement("OPTION") > myOption.options.text = "test" > myOption.options.value = "test" > myform.name1.add(myOption) > (最後の行は間違ってますよねぇ。。) えー・・・悲しいお知らせです。 逆に「最後の行だけ、かろうじて正解」です。 サンプルをVBScriptに読み替えると、 ---------------------------------------------------------- Dim oOption Set oOption = document.createElement("OPTION") oOption.text="Apples" oOption.value="5" document.all.MyList.add oOption ---------------------------------------------------------- こんな感じになります。 #キーワードは、ほとんど同じ。 違うのは、純粋にシンタックス部分だけ・・・ ・変数宣言がVBScriptでは「Dim」で、JScriptでは「var」 ・VBScriptでは変数宣言と値の代入が同時にはできないのに対して、JScriptでは同時に可能(var宣言と、変数=値を一度にできる) ・VBScriptでは、Objectの代入には「Set」が必要。 ・JScriptでは、各コマンドを「;」で区切らなければならないが、VBScriptでは不要。 等

noname#34920
質問者

お礼

> えー・・・悲しいお知らせです。 > 逆に「最後の行だけ、かろうじて正解」です。 (^^:)。。。苦笑 動作確認しました! これでやっと先に進めます。 dsuekichiさん、大変、大変ありがとうございました。

その他の回答 (2)

  • dsuekichi
  • ベストアンサー率64% (171/265)
回答No.2

> 上記の追加の仕方が正しいのかどうかもわかっておりませんので 「完全に間違っている」のでは・・・ これって「変更」する方法ですね、「追加」の方法ではありません。 #コレでやるなら、静的に(最初に)必要なOptionを用意しておく必要があります。 ちなみに、 > 上記で"test1"という項目は追加されるのですが、 との事ですが、私の環境(IE6SP2)では、"test1"の追加も行われません。 追加のやり方は、先ほど提示済みです。 #『「OPTIONエレメント」を「Create」して、値を設定後、「Add」する。』

noname#34920
質問者

お礼

dsuekichiさん、ご指摘ありがとうございます。 やっぱり、間違っていたのですね。。 > #『「OPTIONエレメント」を「Create」して、値を設定後、「Add」する。』 質問の最初のサンプルHTMLの場合ではどのようなコードになるでしょうか? (教えて頂いたサイトを参照させていただいたのですが、javaはほとんどわからなくて。。。すいません。)

noname#34920
質問者

補足

dsuekichiさん。 ちなみに下記コードでやってみましたが、ダメでした。 どこがいけないのかご教授ください。 Set myOption = myform.name1.createElement("OPTION") myOption.options.text = "test" myOption.options.value = "test" myform.name1.add(myOption) (最後の行は間違ってますよねぇ。。) よろしくお願いします。

  • dsuekichi
  • ベストアンサー率64% (171/265)
回答No.1

> うまくいきません。 どういう言うコードを試して、どう上手くいかなかったんでしょう? とりあえず、「追加の仕方」は以下に出ています。 「SELECT」 (http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpisdk/dhtml/references/objects/SELECT.asp) #提示されたサンプルはJScriptです、VBScriptへ読み換えてください。

noname#34920
質問者

お礼

dsuekichiさん、コメントありがとうございます。助かります。 >> うまくいきません。 > どういう言うコードを試して、どう上手くいかなかったんでしょう? --------------------------------- <form name="myform"> <select name="name1"></select> <select name="name2"></select> <input type="button" onclick="vbscript:Sample()"> </form> <script language="vbscript"> Sub Sample() myform.name1.option(0).text="test1" myform.name1.option(0).value="test1" myform.name1.option(1).text="test2" myform.name1.option(1).value="test2" End Sub </script> --------------------------------- 上記で"test1"という項目は追加されるのですが、 "test2"という項目の部分でエラーが発生して追加されません。 (ループ文で項目を多数追加するのがねらいです。) また、上記の追加の仕方が正しいのかどうかもわかっておりませんので、ご教授頂けますでしょうか? よろしくお願いします。

関連するQ&A

  • プルダウンメニューの項目を削除

    教えてください。 vbscriptで、HTMLのプルダウンメニュー(コンボボックス)に追加した項目を削除するにはどうすればいいでしょうか? やりたい事は、下記の"年齢"を選択すると、名前一覧が表示されるようにしたいです。追加の仕方はわかるのですが、逆に削除の仕方がわかりません。 <form> <select name="年齢" onchange="vbscript:test()"></select> <select name="なまえ"></select> </form> <script language="vbscript"> Sub test() 'ここに記述 End Sub </script> よろしくお願いします。

  • HTMLのコンボボックスとの関連

    HTMLの同ページ内にコンボボックスAとコンボボックスBがあるとして、 <!-- JavaScript部------ --> <script language="javascript"> <!--// function cmdCtr() { if (document.forms[0].A.value=='a2'){ document.forms[0].B.disabled=true; document.forms[0].B.selectedIndex=0; document.forms[0].B.value="b1"; }else{ document.forms[0].B.disabled=false; } } //--> </script> <!-- HTML部----------- --> <FORM> <SELECT name="A" onChange="cmdCtr();"> <OPTION value="a1">a1</OPTION> <OPTION value="a2">a2</OPTION> <OPTION value="a3">a3</OPTION> </SELECT> <SELECT name="B"> <OPTION value="b1">b1</OPTION> <OPTION value="b2">b2</OPTION> <OPTION value="b3">b3</OPTION> </SELECT> </FORM> 以上のようなJavaScriptを記述しました。しかし、上記の流れ通りならばa2を選択するとBボックスが選択出来なくなり、Bボックスのb1の値が自動でサーブレットに飛ぶはずなのですが、エラーが起きてしまいます。書き方が悪いのでしょうか? ちなみに、AボックスBボックス両方がきちんと選択されている場合はエラーは起きません。

  • テキストボックスかコンボボックスを条件としたい

    フォーム上のコントロールを取得する時に、 「テキストボックスかコンボボックスなら」としたいのですが、VBAコードがわかりません。 ************************************************************ Sub Sample() Dim myCtrl As Control Dim myForm As String myForm = "フォーム1" For Each myCtrl In Forms(myForm).Controls If myCtrlのタイプがテキストボックス Or コンボボックス Then Debug.Print myCtrl.Name End If Next End Sub ************************************************************ に修正していただけますか? ControlType プロパティを使うと思うのですが、使い方がわかりません。 ご回答よろしくお願いします。

  • OpenOfficeのコンボボックスの追加

    職場でOpenOffice 1.1.4 のマクロを使って プログラミングをしているのですが、コンボボックスに データを追加する作業で困っています StarSuite 8 Basic プログラミングに コンボボックスにデータを追加する場合は addItem(Item, Pos) と書いてあるのですが、 DrawPage = Sheet.DrawPage Form = DrawPage.Forms.GetByIndex(0) Form.cboDate.Text = Date() '今日の日付表示 Form.cboDate.addItem ("aaa",0) と記述すると、addItemのところで怒られます 本当は、バージョンアップをしたいのですが、 それもできません OpenOfficeに詳しい方がおられましたら、 教えてください

  • コンボボックスへの入力に関して

    教えて下さい。 selectのコンボボックスを使用して、プルダウンを作成したいと考えて いますが、そのコンボボックスを手入力も可能としたいと考えて います。 何か良い方法はないでしょうか??? サンプル的なものを教えて頂けれ幸いです。 よろしくお願いします。

  • Excelマクロのコンボボックスについて

    マクロを初めて扱います。 どなたか詳しい方、ご教授ください。 Excelのシート上にActiveXのコンボボックスを作成しました。 そのコンボボックスに「あああ」という項目を追加したのですが、「あああ」項目が一番下に追加されてしまいました。 Me.ComboBox1.AddItem "あああ" どのように書けば、コンボボックスの最上部に追加されるのでしょうか? どうかコードの書き方をお教えいただけませんでしょうか?

  • コンボボックスに連動するテキストボックスの表示数変更

    入力フォームを作成しており、コンボボックスの数に応じて、 テキストボックスの表示数を変更させたいと考えています。 コンボボックスでの選択が「2」になれば、その下に表示される テキストボックスの数も2つ表示させたいと思います。 <html> <head> </head> <body> <form> 項目数: <SELECT> <OPTION selected>1</OPTION> <OPTION>2</OPTION> <OPTION>3</OPTION> <OPTION>4</OPTION> <OPTION>5</OPTION> </SELECT> <br> <br> 項目1:<input type="text" name="test1" size="20"> </form> </body> </html> 処理方法をサイトなどで調べましたが、該当するものが見あたりませんでしたので、ご教授お願いいたします。

  • コンボボックスのリストに追加

    歌手のアルバムリストを作成しています。 コンボボックスに新規入力した歌手の名前をコンボボックスのリストに追加し、既にある歌手名はそのままコンボボックスから選択できるようにしたいんですがどの様にコードを書いていいかわかりません。 お解りになる方がいらっしゃいましたらよろしくお願い致します。

  • VBA コンボボックス項目追加?

    エクセル VBA コンボボックスの項目入荷についてですが 入力フォームを開いたときに Private Sub UserForm_Activate() ComboBox1.AddItem ("本社") ComboBox1.AddItem ("東京支社") ComboBox1.AddItem ("大阪支社") End sub のようにコンボボックスに項目をだすことはわかったのですが、 フォームをを開いたときにワークシートを全てを自動で 項目に表示する方法はありますでしょうか? 宜しくお願いいたします。

  • リストボッックスからリストボックスへの値を追加したい

    ASPのプログラムの中に Bというリストボックスの値を「追加」ボタンを押すとAのリストボックスに 追加できるようなスクリプトを作りたいのですが、 Request.Formで同ページにPOSTでsubmitして送っていたのですが それだと何度も追加ができなくなってしまうので他のやり方にしたいのです。 いろいろ調べてVBScriptやJavaScriptでできるのではないかというのまでは わかったのですが、どうもやり方がいまいちわかりません。 できればJavaScriptのほうでやりたいと思うのですがどなたか良い方法を ご教授いただけないでしょうか。 よろしくおねがいします。 <select size="5" multiple name="A"> </select><input type="submit" value="追加"><select size="5" multiple name="B"> <option>AAAAA</option> <option>BBBBB</option> <option>CCCCC</option> </select>

専門家に質問してみよう