プロが教えるわが家の防犯対策術!

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("同じ値です");
}
(以下省略)

 以下省略で省略されている部分に関しては問題なく動くので
この場所以外でのエラーはかんがえられないのですが…すみません
が上記の方法についてご存知の方は教えていただけませんでしょうか?
 宜しくお願いします。

A 回答 (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>
    • good
    • 4
この回答へのお礼

urizakaです。
上記の通り(実際は多少改造しましたが)打ち込んでみたところ動きました。
ありがとうございました。

お礼日時:2001/07/05 11:17

 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>
のように関数を記述します。
    • good
    • 1

<input type="text" name="A">


<input type="text" name="B">

名前を数値じゃないものにしたら使えます。

この回答への補足

urizakaです。
すみません、テキストボックスにつけた"1"とか"2"というのは便宜上の
名前で、実際のソースコードではもっと難しい名前がついております。
(ただ、それを書いちゃうと、どこの会社の何の仕事してるかわかっ
ちゃうので…機密保持ってやつです)
 それで、その後、Alert文を使ってメッセージボックスで該当のテキスト
ボックスの内容を表示させてみたところ、"1"の方はテキストボックスに
入力した内容が表示されたのですが、"2"の方は"undefined"と表示されて
しまいました…うーん、これってどういうことなんでしょう?
 すみませんが、分かる方、引き続きお願いします。

補足日時:2001/07/04 21:16
    • good
    • 0

document.open() をやって書き込み可能にしてないのではないでしょうか。



参考URL:http://tohoho.wakusei.ne.jp/js/document.htm#open
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!