- ベストアンサー
HTML Onchange: How to Make f001 Work?
- The f001 function is not working in the provided code. How can we make it work?
- The f001 function does not respond to the onChange event in the provided code. What should we do to fix this?
- Need assistance in making the f001 function work in the given code where onchange is not triggering.
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
>どうやって内側に入れたらよろしいのでしょうか? 難しく考えずにformのなかにスクリプトタグを書けばいいですよね。 一応functionは分けておきます。 <script> function f001(){ if (document.test.s1.value==2) alert("2が入力されました"); } function f002(){ if (document.test.s2.value==2) alert("2が入力されました"); } </script> <form name="test"> <script> var i,ht=[]; i=0; ht[i] = '<select onChange="f001()" id="s1" >'; for( var i=1; i<=5;) ht[i] = '<option value='+(i)+(i==1?' selected':'')+'>'+(i++)+'</option>'; ht[i] = '</select>'; document.write('s1 =', ht.join('')); </script> s2 = <select onChange="f002()" id=s2> <option value=1 selected>1</option> <option value=2>2</option> <option value=3>3</option> <option value=4>4</option> </select> </form>
その他の回答 (3)
- zxcv0000
- ベストアンサー率56% (111/196)
1 for( var i=1; i<=5;) の後に { が無いのはわざと? まずい様に見えますが? 2 ht[i] = '<option value='+(i)+(i==1?' selected':'')+'>'+(i++)+'</option>'; の中の (i++) で i の値が変って、ループ処理が破綻してないですか? 同じ行の ht[i] も変更後の i を使いたんですか? どんな物が生成されたか、document.write と同じ内容を alert() で見てみる事をお勧めします。
- yambejp
- ベストアンサー率51% (3827/7415)
#1もそうですが、構造的に・・・ document.test.s1.value==2 となっていますが、 s1はtestの外側にありますよね? 突っ込みどころはたくさんありますが、動けばいいやというので あればそのあたりをみなおしてみてください
補足
HTML Javascript まだ始めだして数日でして、とりあえず動くか試してる状況です。 >s1はtestの外側にありますよね? そのとうりで、どうやって内側に入れたらよろしいのでしょうか?
- yuu_x
- ベストアンサー率52% (106/202)
色々、、、まあいいや。 ht[i] += '<option value='+(i)+(i==1?' selected':'')+'>'+(i++)+'</option>'; + が抜けてるからでないですか?
お礼
>formのなかにスクリプトタグを書けばいいですよね。 えぇ!!---そうなんですか。 スクリプトは、HEADの部分にしか書けないと思ってました。 というかHEADも記述してなかったですが・・・・ ありがとうございました。