- ベストアンサー
テキストボックスの値同士を比較したい
urizakaと申します。 さて、現在JSPでプログラムを組んでいるのですが、その際にHTMLフォームの テキストボックスとテキストボックスの値を比較して、同じ値だった場合に イベントが起きるようにしたいのですが、うまくいきません。 具体的には以下のようなソースコードを書いたのですが… <HTML> <BODY> <FORM name="Del"> <input type="text" name="1"> <input type="text" name="2"> (中略) </FORM> <script language="JavaScript"> if (Del.1.value == Del.2.value){ document.writeln("同じ値です"); } (以下省略) 以下省略で省略されている部分に関しては問題なく動くので この場所以外でのエラーはかんがえられないのですが…すみません が上記の方法についてご存知の方は教えていただけませんでしょうか? 宜しくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
下記のソースコードで一応動作しますが。 <HTML> <HEAD> <script language="JavaScript"> <!-- function cmp(Del) { if ( Del.a.value == Del.b.value ) { document.writeln("同じ値です"); document.close();//これがないとNNで表示されない } else { document.writeln("違う値です"); document.close();//これがないとNNで表示されない } } //--> </script> </HEAD> <BODY> <FORM name="Del"> <input type="text" name="a"> <input type="text" name="b"> <INPUT TYPE="button" VALUE="比較" onClick="cmp(Del)"> </FORM> </BODY> </HTML>
その他の回答 (3)
- leaz024
- ベストアンサー率75% (398/526)
JavaScriptで書かれたステートメントは、HTMLを読み込みながら実行されていきます。 それ以外で何か処理をしたければ、何らかのイベントに関連付けて関数で処理するしかありません。 もし、テキストボックスへの記入直後に判定を行いたいのであれば、 <input type="text" name="1" onChange="check();"> <input type="text" name="2" onChange="check();"> のように変更し、<head>~</head>領域に <script language="JavaScript"><!-- function check() { if (document.Del.1.value == document.Del.2.value){ // イベント処理 } } //--></scipt> のように関数を記述します。
- duckling
- ベストアンサー率47% (88/185)
<input type="text" name="A"> <input type="text" name="B"> 名前を数値じゃないものにしたら使えます。
補足
urizakaです。 すみません、テキストボックスにつけた"1"とか"2"というのは便宜上の 名前で、実際のソースコードではもっと難しい名前がついております。 (ただ、それを書いちゃうと、どこの会社の何の仕事してるかわかっ ちゃうので…機密保持ってやつです) それで、その後、Alert文を使ってメッセージボックスで該当のテキスト ボックスの内容を表示させてみたところ、"1"の方はテキストボックスに 入力した内容が表示されたのですが、"2"の方は"undefined"と表示されて しまいました…うーん、これってどういうことなんでしょう? すみませんが、分かる方、引き続きお願いします。
- inoue64
- ベストアンサー率29% (334/1115)
document.open() をやって書き込み可能にしてないのではないでしょうか。
お礼
urizakaです。 上記の通り(実際は多少改造しましたが)打ち込んでみたところ動きました。 ありがとうございました。