- ベストアンサー
ボタンクリック時の処理ができない
- 作成したcleartest()が呼ばれません。function定義の直後に、alert()を入れてもダイアログボックスの表示ができずに機能しません。
- 分からないのはfunction定義の直前に、cleartest()を加えるとダイアログボックスの表示が出ますが、ボタンを押下してもクリア処理ができません。
- どのような事を考慮すれば良いですか? また、代替案はどのような方法がございますか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
微妙な感じですが文法エラーなどで処理が止まっている可能性もあるので firefoxのfirebugなどでデバッグすることをお勧めします
その他の回答 (2)
- fujillin
- ベストアンサー率61% (1594/2576)
動くと思いますよ。 具体的にどのように設置しているのかわかりませんが、質問者様が考えていないところに問題があるのかも。 簡略化してテストしました。 (要素にidが同じものがありますが、HTMLの文法違反です) <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html lang="ja"> <head><title>sample</title> <meta http-equiv="Content-Style-Type" content="text/css"> <meta http-equiv="Content-Script-Type" content="text/javascript"> <script type="text/javascript"> function cleartest(btnNo){ if(btnNo == 1){ document.getElementById("TextBox1").value = ""; } else if (btnNo == 2) { document.getElementById("TextBox2").value = ""; } } </script> </head> <body> <div> <textarea id="TextBox1">text1</textarea> <input type="button" tabindex="1" value="クリア" onclick="cleartest(1);"> </div> <div> <textarea id="TextBox2">text2</textarea> <input type="button" tabindex="2" value="クリア" onclick="cleartest(2);"> </div </body> </html>
お礼
<INPUT>タグの後に、外部jsファイルを移して解決しました。
- Ogre7077
- ベストアンサー率65% (170/258)
良く分かりませんが、属性 runat が邪魔な気がします そもそも指定する必然性がないので、削除してはいかがでしょうか あと、属性 id が複数の要素で重複しています あと、属性 title は <input> にあるべきでしょう あと、属性 tabindex はちゃんと順番を指定するべきです あと、属性 style が大きすぎるので css 化を検討すべきです
お礼
関数が未定義になっていました。 <INPUT>タグの後に、外部jsファイルを移して解決しました。