JavaScriptを使用してテキストエリアの値を変更する方法

このQ&Aのポイント
  • こんにちは。JavaScriptを使用して、テキストエリアの値を変更したい場合、以下の手順を試してください。
  • まず、セレクトボックスを作成し、オプションの値を設定します。その後、オプションが変更された際に呼び出される関数を作成します。関数内でテキストエリアの値を変更する処理を行います。
  • 最後に、確認ボタンを押した際にテキストエリアの値を取得し、表示するようにします。以上の手順を実装すれば、テキストエリアの値を変更することができます。
回答を見る
  • ベストアンサー

OPTION の値をテキストエリアに

こんにちは。 すみませんが教えてください。 下記の様に作っています。 テキストエリア(note1)に、OPTIONのS・M・Lというように表示させたいのですが、1・2・3というようになってしまったり、エラーがでてしまいます。 どのように変えたらよろしいでしょうか? ”サイズ”+####の所を何回か書き直して見ましたが上手くいきません。 私が何をしたいかというと、 確認ボタンを押したら表記されている文字や数字をテキストエリアに書きたいのです。 よろしくお願いします。 <HTML> <HEAD> <TITLE></TITLE> <SCRIPT Language="JavaScript"> <!-- A = new Array("\0","\ 1,000","\ 1,200","\ 1,500"); function Fa(x) { document.FM.TE.value = A[x]; } function ctotal() { var totalp=0; var disp1=document.FM.TE.value+" 円 "+" サイズ "+####### ; if(document.FM.TE.value>0) { totalp=parselt(totalp)+parselnt(document.FM.TE.value); } document.form03.note1.value=disp1; } //--> </SCRIPT> </HEAD> <BODY> <FORM name="FM"> <TABLE BORDER="3"><TR><TD> <SELECT name="OP" onChange="Fa(this.selectedIndex);"> <OPTION value="0" selected>0</OPTION> <OPTION value="1">S</OPTION> <OPTION value="2">M</OPTION> <OPTION value="3">L</OPTION> </SELECT></TD><TD> <INPUT size="8" type="text" name="TE" value="0"></TD></TABLE></FORM> <FORM NAME="form03"> <INPUT TYPE="BUTTON"VALUE="確認" onclick="ctotal()"> <TEXTAREA NAME=note1 ROWS=5 COLS=30></TEXTAREA></FORM>     </BODY> </HTML>

  • byby
  • お礼率100% (1/1)

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

  • ベストアンサー
  • mirurin
  • ベストアンサー率43% (48/111)
回答No.1

値段と同じように、サイズを格納した配列を作成してはどうでしょう? <SCRIPT Language="JavaScript"> <!-- A = new Array("\0","\ 1,000","\ 1,200","\ 1,500"); B = new Array("0","S","M","L"); function Fa(x) { document.FM.TE.value = A[x]; } function ctotal() { var totalp=0; //var disp1=document.FM.TE.value+" 円 "+" サイズ "+####### ; var disp1=document.FM.TE.value+" 円 "+" サイズ "+B[document.FM.OP.selectedIndex]; if(document.FM.TE.value>0) { totalp=parselt(totalp)+parselnt(document.FM.TE.value); } document.form03.note1.value=disp1; } //--> </SCRIPT>

byby
質問者

お礼

ありがとうございます。 うまくできました。本も何冊か買い勉強してますが、少し応用になるとすぐにつまずいてしまいます。本当に難しいですね。 助かりました。ありがとございます。

関連するQ&A

  • 追加したテキストボックスとテキストエリアの数の制御

    下記のようにテキストボックスとテキストエリアの数をボタンを押すことによって増やしていきます。 で、テキストボックスとテキストエリアは最大10個までとしたいのですが、どのようにしたらいいでしょうか? あとテキストエリアを追加していくとテキストエリアとテキストエリアの間が詰まってしまいます。間を空ける方法はないでしょうか? <script type="text/javascript"> function myAdd(){ var oTR=document.createElement("tr"); var c=count("mat"); var names=["mat","qua"]; for(var i in names){ var oTD = document.createElement("td"); var oTag = document.createElement("input"); oTag.setAttribute("type", "text"); oTag.setAttribute("name", names[i] + (c+1).toString()); oTD.appendChild(oTag); oTR.appendChild(oTD); } document.getElementById("t0").getElementsByTagName("tbody")[0].appendChild(oTR); } function count(name){ var tags=document.getElementsByTagName("input"); var c=0; var reg=RegExp("^"+name+"[0-9]+$"); for(var i=0;i<tags.length;i++){ if(tags[i].name.match(reg)){ c++; } } return c; } var tag_num = 4; function myTextAreaAdd(){ var oTag = document.createElement("textarea"); oTag.setAttribute("name", "foo" + tag_num++); var oDiv = document.getElementById("area"); oDiv.appendChild(oTag); } </script> </head> <body><form method="post" enctype="multipart/form-data" action="check.php"> <table id="t0" border> <tbody> <tr><td><input type="text" name="mat1" value=""></td> <td><input type="text" name="qua1" value=""></td> </tr> <tr><td><input type="text" name="mat2" value=""></td> <td><input type="text" name="qua2" value=""></td> </tr> <tr><td><input type="text" name="mat3" value=""></td> <td><input type="text" name="qua3" value=""></td> </tr> <tr><td><input type="text" name="mat4" value=""></td> <td><input type="text" name="qua4" value=""></td> </tr> </tbody> </table> <input type="button" value="追加する" onClick="myAdd()"> <br /> <span id="area"> <textarea name="foo1"></textarea> <textarea name="foo2"></textarea> <textarea name="foo3"></textarea> <textarea name="foo4"></textarea> </span><br /> <input type="button" value="追加する" onClick="myTextAreaAdd()"><br /> </form>

  • 2つのフォームに値を入れて計算

    2つのフォームを作り、その2つを計算したいのですがオブジェクトの指定の仕方がエラーが出てしまい(オブジェクトを指定してくださいと出ます)わかりません。 どうか教えてください。 ちなみにforなどは使わなくても大丈夫ですのでよろしくお願いします。 function kei() { var kei1 = 0; kei1=eval(document.A.a11.value) * eval(document.B.b21.value) ; document.C.c11.value = kei1; } <table border = 1> <form name="A"> <tr> <td> <input type = "text" size = 5 name = "a11"></input> </td> <td> <input type = "text" size = 5 name = "a12"></input> </td> <td> <input type = "text" size = 5 name = "a13"></input> </td> </tr> <tr> <td> <input type = "text" size = 5 name = "a21"></input> </td> <td> <input type = "text" size = 5 name = "a22"></input> </td> <td> <input type = "text" size = 5 name = "a23"></input> </td> </tr> </form> </table> <table boeder = 1> <tr> <input type = "button" onClick="kei()" value = "×"></input> </tr> </table> <table border = 1> <form name="B"> <tr> <td> <input type = "text" size = 5 name = "b21"></input> </td> <td> <input type = "text" size = 5 name = "b22"></input> </td> <td> <input type = "text" size = 5 name = "b23"></input> </td> </tr> <tr> <td> <input type = "text" size = 5 name = "b31"></input> </td> <td> <input type = "text" size = 5 name = "b32"></input> </td> <td> <input type = "text" size = 5 name = "b33"></input> </td> </tr> </form> </table> <table border = 1> <form name="C"> <tr> <td> <input type = "text" size = 5 name = "c11"></input> </td> <td> <input type = "text" size = 5 name = "c12"></input> </td> <td> <input type = "text" size = 5 name = "c13"></input> </td> </tr> <tr> <td> <input type = "text" size = 5 name = "c21"></input> </td> <td> <input type = "text" size = 5 name = "c22"></input> </td> <td> <input type = "text" size = 5 name = "c23"></input> </td> </tr> </form> </table>

  • 動的に作成したテキストボックスの値をaspへ

    いつもお世話になっております。 javaスクリプトで動的にテキストボックスを作成し、 実行ボタンを押すと値をhiddenでtest.aspへ渡すことは可能でしょうか? 不可能であれば。。。。 test.aspへ値を渡す良い方法がありましたら、ご教示くださますようお願いいたします。 環境:IIS7.5 クラッシックASP 以下、ソースを参照してください。。。 *自宅では環境がないため、 印刷を見ながら手で入力しました。 確認して投稿しましたが。。。打ち間違い等あったらご指摘くださいませ>< --------以下ソース抜粋 addtext.asp ------------------- <script language="JavaScript"> <!-- function addDev(){ var targetName; var idObj; var tbObj; var devBlockCnt; idObj = document.getElementById("histTablebody"); tdObj = idObj.getElementsByTagName("tbody"); devBlockCnt++; targetName = "devBlock" + devBlockCnt; var mybody = document.getElementById("histTablebody"); tbcurrent_row = document.createElement("TBODY"); tbcurrent_row.setAttribute("id",targetNam); mycurrent_row=document.createElement("TR"); mycurrent_cell=document.createElement("TD"); mycurrent_row.appendChild(mycurrent_cell); mycurrent_cell=document.createElement("TD"); mycurrent_row.appendChild(mycurrent_cell); mycurrent_cell=document.createElement("TD"); mycurrent_row.appendChild(mycurrent_cell); mycurrent_cell=document.createElement("TD"); mycurrent_row.appendChild(mycurrent_cell); mycurrent_cell=document.createElement("TD"); mycurrent_row.appendChild(mycurrent_cell); tbcurrent_row.appendChild(mycurrent_row); mycurrent_row=document.createElement("TR"); mycurrent_row.setAttribute("id",histrow1); mycurrent_cell=document.createElement("TD"); mycurrent_form=document.createElement("INPUT"); mycurrent_form.setAttribute("type","TEXT"); mycurrent_form.setAttribute("name","devEntry1"); mycurrent_form.setAttribute("id","devEntry1"); mycurrent_form.setAttribute("value",""); mycurrent_cell.appendChild(mycurrent_form); mycurrent_row.appendChild(mycurrent_cell); tbcurrent_row.appendChild(mycurrent_row); mybody.appendChild(tbcurrent_row); } //--> </script> <html> <head> <title>TEST</title> </head> <body> <div align="center"> <table border="1"> <tr> <td align="left" valign="middle">入力1</td> <td> <form name="fmDev"> <div> <table border="0" id="histTablebody"> <tbody id="devBlock1"> <tr><td></td></tr> <tr id="histrow1"> <td><input type="text" name="devEntry1" id="devEntry1"> </td> </tr> </tbody> </table> </div> <table> <tr><td><input type="button" id=addDevid value="追加" onClick="addDev();"> </td> </tr> </table> </form> </td> </tr> <form name="fmHoki"> <tr> <td align="left" valign="middle">入力2</td> <td align="left"><textarea row="5" name="hokiTXT" cols="60"></textarea></td> </tr> </form> </table> </div> <teble border="0"> <tr> <form action="test.asp" method="post" name="fm2"> <tr><input type="submit" value="登録実行" alt=""></td>     <input trype="hidden" name="hokiTXT"> </form> <form name="fm3"> <td><input type="button" value="戻る" onclick="location.href='menu01.asp';"></td> </form> </tr> </teble> </body> </html> <SCRIPT LANGUAGE="vbscript"> '--------------------------------------- ' test.asp へ行く前の処理 '--------------------------------------- Sub fm2_OnClick() Dim i Document.fm2.hokiTXT.value = Document.fmHoki.hokiTXT.value  '--ここで動的に作成したテキストボックスの値をtest.aspへ渡す処理が  'わかりません。。。。。  'debug確認用 ↓ for i=0 to document.fmDev.length msgbox document.fmDev.element(i).name,,"test" msgbox document.fmDev.element(i).value,,"test" next End Sub </SCRIPT>

  • document.form1.~について

    クリックしたセルのidとnameを取得するものですが document.form1.send.value = disp_area_all ;のform1を 変数に置き換えることは出来るでしょうか? tableもFORMも沢山あってクリックした場所によって別のFORMで idとnameを取得したいのですが。 <html> <head> <title></title> <script language="JavaScript"> <!-- var disp_area = new Array(); var disp_event; var disp_id; var disp_name; function check_event() { disp_id = null; disp_name = null; if ( event.srcElement ) { disp_id = event.srcElement.id; disp_name = event.srcElement.name; } switch ( disp_event ) { default: disp_area_all = ''; disp_area[0] = 'Id:' + disp_id + ' Na:' + disp_name disp_area_all = disp_area_all + disp_area[0] ; document.all.send.value = disp_area_all ; document.form1.send.value = disp_area_all ; break; } } //--> </script> </head> <body> <table border=1><tr> <td onClick="check_event()" STYLE="width:30; height:30; background:#0000ff" id='10' name='1'></td> </tr></table> <FORM method="POST" name='form1' action=""> <input type="text" size=10 name="send"><br> <input type="submit" value="送信"> </FORM> </body> </html>

  • jacascriptとフォームselectメニューで計算した値を保存したい

    お世話になります。 javascriptを使った計算を勤め先で必要ということで、社内で少しパソコンに詳しいという理由で自分が手がけることになりましたorz 色々と検索しながら勉強し、ようやく思い通りのプログラムを見つけて参考にしながら実践してみたのですが、思い通りにならない箇所が一部ありまして困っています。 参考にしたのは以下のサイトなのですが、 ttp://www.tagindex.com/javascript/form/comp1b.html セレクトメニューから選んだ値を特定の数値で掛けそれを合計するという流れなのですが、このスクリプトだと、一度計算を終えると、もう一度セレクトメニューから値を選択しないと値が0になってしまっているのです。 希望としては、この選択した値を保存しておき、計算が終わってもそれ以前の選択状況のままにしておきたいんですが、どうやればできるでしょうか? <script type="text/javascript"> <!-- function keisan(){ // 設定開始 // 商品1 var price1 = document.form1.goods1.selectedIndex * 500; // 単価を設定 document.form1.field1.value = price1; // 小計を表示 // 商品2 var price2 = document.form1.goods2.selectedIndex * 1000; // 単価を設定 document.form1.field2.value = price2; // 小計を表示 // 商品3 var price3 = document.form1.goods3.selectedIndex * 3000; // 単価を設定 document.form1.field3.value = price3; // 小計を表示 // 合計を計算 var total = price1 + price2 + price3; // 設定終了 document.form1.field_total.value = total; // 合計を表示 } // --> </script> </head> <body> <form action="#" name="form1"> <table> <tr> <th>商品名</th> <th>単価</th> <th>数量</th> <th>金額</th> </tr> <tr> <td>商品サンプル1</td> <td align="right">500円</td> <td><select name="goods1" onChange="keisan()"> <option>0</option> <option>1</option> <option>2</option> <option>3</option> <option>4</option> <option>5</option> </select></td> <td><input type="text" name="field1" size="8" value="0"> 円</td> </tr> <tr> <td>商品サンプル2</td> <td align="right">1,000円</td> <td><select name="goods2" onChange="keisan()"> <option>0</option> <option>1</option> <option>2</option> <option>3</option> <option>4</option> <option>5</option> </select></td> <td><input type="text" name="field2" size="8" value="0"> 円</td> </tr> <tr> <td>商品サンプル3</td> <td align="right">3,000円</td> <td><select name="goods3" onChange="keisan()"> <option>0</option> <option>1</option> <option>2</option> <option>3</option> <option>4</option> <option>5</option> </select></td> <td><input type="text" name="field3" size="8" value="0"> 円</td> </tr> <tr> <td align="right" colspan="3"><strong>合計</strong></td> <td><input type="text" name="field_total" size="8" value="0"> 円</td> </tr> </table> </form>

  • テキストエリアの入力値からチェックボックスのON・OFF切り替え

    テキストエリアからフォーカスが外れた際、テキストエリアに入力された文字があればチェックボックスをONに、何もない場合はOFFにしたいです。 <HTML> <BODY> <SCRIPT language="javascript"> <!-- function Check(AAA,BBB) { var cTxt; cTxt = "txt" + AAA; item_txt = eval('document.form1.' + cTxt + '.value'); item_txt2 = item_txt.replace(/ /g,""); item_txt2 = item_txt2.replace(/ /g,""); if (!item_txt2){ alert("チェックを外す"); } else { alert("チェックを付ける"); } } //--> </SCRIPT> <FORM name="form1"> <TABLE> <TR> <TD><TEXTAREA name="txt029" rows="2" cols="20" onblur="Check('029','1')"></TEXTAREA></TD> <TD><INPUT type="checkbox" name="chk[]" value="029"></TD> </TR> <TR> <TD><TEXTAREA name="txt121" rows="2" cols="20" onblur="Check('121','2')"></TEXTAREA></TD> <TD><INPUT type="checkbox" name="chk[]" value="121"></TD> </TR> </TABLE> </FORM> </BODY> </HTML> <TR>~</TR>はPHPで書き出しをしており、行数は都度変化します(1行~20行)。 1つの<TR>~</TR>で、TEXTAREAのname下3桁・Checkの1つ目の引数・checkboxのvalueは全て同じ値が入ります(値は変化)。 Checkの2つ目の引数は書き出した順に0から振るようにしています。 この記述だと2つ目の引数は活用できてないのですが…使い道があるかと思って書いてはいるのですが結局わからなくてそのままになってます。 色々考えてはみたのですが、どのように対応するチェックボックスを指定していいのかがわかりません。 是非ご教授いただきたいです。

  • 再度読み込みは出来ないのでしょうか?

    各テキストボックスに値を入れて、 C11 = a11 * b11 + a12 * b21 + a13 * b31、 c12 = a11 * b12 + a12 * b22 + a13 * b32、 : : c21 = a21 * b11 + a22 * b21 + a23 * b31 c22 = a21 * b12 + a22 * b22 + a23 * b32・・・ としたいのですが、うまくロジックが思いつきません。 単純に式をずらずら書いたのですが、c12以降の欄がすべてゼロになってしまいます。 いい方法を教えてください。お願いします。 <head> <script> function kei(){ var form_a=document.getElementById('A'); var form_b=document.getElementById('B'); var form_c=document.getElementById('C'); var keic11 = 0; var keic12 = 0; : : keic11=parseInt(form_a.a11.value) * parseInt(form_b.b11.value) * parseInt(form_a.a12.value) * parseInt(form_b.b21.value) + parseInt(form_a.a13.value) * parseInt(form_b.b31.value); form_c.c11.value = keic11; keic12=parseInt(form_a.a11.value) * parseInt(form_b.b12.value) + parseInt(form_a.a12.value) * parseInt(form_b.b22.value) + parseInt(form_a.a13.value) * parseInt(form_b.b32.value); form_c.c12.value = keic12;     :     : } </script> </head> <body> <table border = 1> <form id = "A"> <tr> <td> <input type = "text" size = 5 name = "a11"></input> </td> <td> <input type = "text" size = 5 name = "a12"></input> </td> <td> <input type = "text" size = 5 name = "a13"></input> </td> </tr> <tr> <td> <input type = "text" size = 5 name = "a21"></input> </td> <td> <input type = "text" size = 5 name = "a22"></input> </td> <td> <input type = "text" size = 5 name = "a23"></input> </td> </tr> </form> </table> <table boeder = 1> <tr> <input type = "button" onClick="kei()" value = "×"></input> </tr> </table> <table border = 1> <form id = "B"> <tr> <td> <input type = "text" size = 5 name = "b11"></input> </td> <td> <input type = "text" size = 5 name = "b12"></input> </td> <td> <input type = "text" size = 5 name = "b13"></input> </td> <td> <input type = "text" size = 5 name = "b14"></input> </td> <td> <input type = "text" size = 5 name = "b15"></input> </td> </tr> <tr> <td> <input type = "text" size = 5 name = "b21"></input> </td> <td> <input type = "text" size = 5 name = "b22"></input> </td> <td> <input type = "text" size = 5 name = "b23"></input> </td> <td> <input type = "text" size = 5 name = "b24"></input> </td> <td> <input type = "text" size = 5 name = "b25"></input> </td> </tr> <tr> <td> <input type = "text" size = 5 name = "b31"></input> </td> <td> <input type = "text" size = 5 name = "b32"></input> </td> <td> <input type = "text" size = 5 name = "b33"></input> </td> <td> <input type = "text" size = 5 name = "b34"></input> </td> <td> <input type = "text" size = 5 name = "b35"></input> </td> </tr> </form> </table> 答え <table border = 1> <form id = "C"> <tr> <td> <input type = "text" size = 5 name = "c11"></input> </td> <td> <input type = "text" size = 5 name = "c12"></input> </td> <td> <input type = "text" size = 5 name = "c13"></input> </td> <td> <input type = "text" size = 5 name = "c14"></input> </td> <td> <input type = "text" size = 5 name = "c15"></input> </td> </tr> <tr> <td> <input type = "text" size = 5 name = "c21"></input> </td> <td> <input type = "text" size = 5 name = "c22"></input> </td> <td> <input type = "text" size = 5 name = "c23"></input> </td> <td> <input type = "text" size = 5 name = "c24"></input> </td> <td> <input type = "text" size = 5 name = "c25"></input> </td> </tr> </form> </table> </body>

  • テキストエリア内で改行するには。

    次のスクリプトを実行すると、テキストエリア内に 01234560 と数字が表示されますが、これを 0 1 2 . というように改行も含めてテキストエリアに出力するにはどうすればよいでしょうか。 ¥nという文字を使用するのでしょうか? <html> <head> <script language="JavaScript"> <!-- var textA="" function my1() {for (i=0;i<11;i++){textA=textA+new String(i)} document.form1.text1.value=textA;} //--> </script> </head> <body> <form name="form1"> <textarea name="text1" size="10"></textarea> <input type="button" value="CLICK!" onClick="my1();"> </form> </body> </html>

  • insertRowメソッド内で計算式を書く方法

    http://jsajax.com/Articles/TableInsertRow/157を参考に、[行を挿入]ボタンをクリックすると最終行の下に行が追加され、その中にテキストボックスを配置し計算を行うようにしたいと思い、下記のソースを記述しました。 そして追加した行で正常に計算を行うために、insertRow内のinnerHTMLのgoods_a_3の3の部分を動的に設定したり、calc内の計算式を動的にループさせる必要があると思ったのですが、どのように記述すれば良いか分からなかったため、アドバイスいただける方がいらっしゃいましたら、ご教示の程、よろしくお願いします。 <script type="text/javascript"> <!-- window.onload = function() { document.getElementById("btnInsert").onclick = insertRow; } function insertRow() { var tbl = document.getElementById("Table1"); var row = tbl.insertRow(2); var cell1 = row.insertCell(0); var cell2 = row.insertCell(1); var cell3 = row.insertCell(2); cell1.innerHTML = "<input type=\"text\" name=\"goods_a_3\" size=\"3\" value=\"0\" onchange=\"calc();\" />*"; cell2.innerHTML = "<input type=\"text\" name=\"goods_b_3\" size=\"3\" value=\"0\" onchange=\"calc();\" />="; cell3.innerHTML = "<input type=\"text\" name=\"ans3\" size=\"8\" value=\"0\" disabled=\"disabled\" />"; } function calc(){ document.form1.ans1.value = document.form1.goods_a_1.value * document.form1.goods_b_1.value; document.form1.ans2.value = document.form1.goods_a_2.value * document.form1.goods_b_2.value; } // --> </script> </head> <body> <form action="#" name="form1" id="form1"> <table id="Table1" border="1"> <tr> <td><input type="text" name="goods_a_1" size="3" value="0" onchange="calc();" />*</td> <td><input type="text" name="goods_b_1" size="3" value="0" onchange="calc();" />=</td> <td><input type="text" name="ans1" size="8" value="0" disabled="disabled" /></td> </tr> <tr> <td><input type="text" name="goods_a_2" size="3" value="0" onchange="calc();" />*</td> <td><input type="text" name="goods_b_2" size="3" value="0" onchange="calc();" />=</td> <td><input type="text" name="ans2" size="8" value="0" disabled="disabled" /></td> </tr> </table> </form> <br /> <input id="btnInsert" type="button" value="行を挿入" /> 以上、よろしくお願いします。

  • javascriptでselectボックスの<OPTION>要素数の取

    javascriptでselectボックスの<OPTION>要素数の取得する方法について疑問があります。 データが1件の場合、複数件の場合とで分けて、 <OPTION>要素数を取得する処理を記述していますが、 データが1件の場合、 document.getElementsByName("sel").length で正しい値が取得できません。 詳しくは下記のソースを参照していただきたいのですが、 (1)、(2)、(4)は、正しい値'5'ですが、 (3)だけ誤った値'1'になります。 これはなぜでしょうか? javascript初心者のため、初歩的な質問かもしれませんが、 教えていただけたら嬉しいです。 よろしくお願い致します。 -------------------------------------- <HTML> <HEAD> <SCRIPT language="JavaScript">   function getSelLen(){ var oForm = document.form1; var sObj; var sObj2; //チェックボックスの数でデータが複数件か1件か判別しています。 if(oForm.chk.length){ //データが複数件の場合 for ( var i = 0; i < oForm.chk.length; i++ ) { sObj=document.getElementsByName("sel")[i]; alert("(1) "+ sObj.length); //・・・・(1) 正 sObj2=oForm.elements["sel"][i]; alert("(2) "+ sObj2.length); //・・・・(2) 正 } }else{ //データが1件の場合 sObj=document.getElementsByName("sel"); alert("(3) "+ sObj.length); //・・・・(3) 誤 sObj2=oForm.elements["sel"]; alert("(4) "+ sObj2.length); //・・・・(4) 正 } } </SCRIPT> </HEAD> <BODY> <FORM name="form1"> <TABLE> <TR> <TD> <INPUT type="checkbox" name="chk" > </TD> <TD> <SELECT name="sel" > <OPTION value="" selected> <OPTION value="00">00 <OPTION value="01">01 <OPTION value="02">02 <OPTION value="03">03 </TD> </TR> <!-- 複数件の場合 以下のコメントアウトを解除する --> <!-- <TR> <TD> <INPUT type="checkbox" name="chk" > </TD> <TD> <SELECT name="sel" > <OPTION value="" selected> <OPTION value="00">00 <OPTION value="01">01 <OPTION value="02">02 <OPTION value="03">03 </TD> </TR> --> </TABLE> </FORM> <FORM name="form2"> <INPUT type="button" onClick="getSelLen()" value=" selectの要素数 "> </FORM> </BODY> </HTML>

専門家に質問してみよう