-PR-
解決
済み

テキストボックスの値が変更になったら

  • すぐに回答を!
  • 質問No.48427
  • 閲覧数3161
  • ありがとう数5
  • 気になる数0
  • 回答数5
  • コメント数0

お礼率 60% (6/10)

ポイントを入力するテキストボックスが2つあって、
1つめのテキストボックスの値が変更されたら2つめの
テキストボックスにもその変更された値を表示するとい
う事は可能でしょうか?
onChangeの処理かなーとも思ったのですが書き方がよく
わかりません。
何か良い方法がありましたら教えて下さい。
通報する
  • 回答数5
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.4
レベル12

ベストアンサー率 65% (242/372)

JavaScriptのレイヤー処理苦手なんですけどね(^^;;
乗りかかった船ってことで、無理矢理ですけど動作確認したHTMLを以下に書いておきます。

※ 「<」と「>」は半角に、字下げに使用している全角スペースは半角スペースやタブに変えて下さいね。

<html>
<head>
  <script type="text/javascript"><!--
  function outmsg( msg ) {
    if( msg == null ) msg = "";
    if( document.all ) {
      ie_out = document.all("out_box");
      ie_out.innerHTML = msg;
    }else if( document.layers ) {
      nn_out = document.layers["out_box"];
      nn_out.document.open();
      nn_out.document.write( msg );
      nn_out.document.close();
    }
  }
  // --></script>
</head>
<body>

<form>
  <input type="text" name="in_box" onChange="outmsg( this.value );">
</form>

<table border=0><tr>
  <layer name="out_box"><td>
  <span id="out_box"></span>
  </td></layer>
</tr></table>

</body>
</html>

参考まで
お礼コメント
kanato

お礼率 60% (6/10)

hequilさんありがとうございます!!
上のソースで思った通りの処理が出来ました。
とても助かりました。ありがとうございました。

また質問という形になってしまってとても申し訳無いのですが、
この処理はテキストボックスが不特定の時にも使用する事は可能でしょうか?
テキストボックスの数が決まっていないので、出力先のout_boxの名前を
onChange="outmsg( this.value )"
に追加パラメータとして渡し、出力先を指定するようにしてみたのですが、
エラーが出てしまいました。

<HTML><HEAD>
<script type="text/javascript"><!--
 function outmsg( msg ,txt) {
  if( msg == null ) msg = "";
  if( document.all ) {
    ie_out = document.all(txt);
    ie_out.innerHTML = msg;
  }else if( document.layers ) {
     nn_out = document.layers[txt];
     nn_out.document.open();
     nn_out.document.write( msg );
     nn_out.document.close();
  }
}
// --></script>
</head>
<body>
<table border="1">
 <td>
 <input type="text" name="in_box0" onChange="outmsg( this.value ,"out_box0");">
 <layer name="out_box0"><td>
 <span id="out_box0"></span>
 </td></layer>
 </td>
 <td>
 <input type="text" name="in_box1" onChange="outmsg( this.value ,"out_box1");">
 <layer name="out_box1"><td>
 <span id="out_box1"></span>
 </td></layer>
 </td>
</table>
</BODY>
</HTML>

という書き方ではまずいのでしょうか?
すみませんが見て頂けると助かります。
投稿日時 - 2001-03-07 11:15:49
-PR-
-PR-

その他の回答 (全4件)

  • 回答No.1
レベル9

ベストアンサー率 43% (45/104)

2つのテキストボックスでいいんですよね? とりあえず下記ソースのようで、いかがですか? 適当にアレンジしてみてください。 --------- &lt;html&gt; &lt;head&gt; &lt;script language="javascript"&gt; &lt;!-- function henko() ...続きを読む
2つのテキストボックスでいいんですよね?
とりあえず下記ソースのようで、いかがですか?
適当にアレンジしてみてください。
---------
&lt;html&gt;
&lt;head&gt;
&lt;script language="javascript"&gt;
&lt;!--
function henko(){
t1 = hoge.text1.value;
hoge.text2.value = t1;
}
--&gt;
&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;form name="hoge"&gt;
1つ目&lt;input type="text" name="text1" onchange="henko();"&gt;
<br&gt;
2つ目&lt;input type="text" name="text2"&gt;
&lt;/form&gt;
&lt;/body&gt;
&lt;/html&gt;


  • 回答No.5
レベル12

ベストアンサー率 65% (242/372)

ダブルクォーテーションの中にダブルクォーテーションは使えないので、 onChange="outmsg( this.value ,"out_box0");" onChange="outmsg( this.value ,"out_box1");" を onChange="outmsg( this.va ...続きを読む
ダブルクォーテーションの中にダブルクォーテーションは使えないので、

onChange="outmsg( this.value ,"out_box0");"
onChange="outmsg( this.value ,"out_box1");"



onChange="outmsg( this.value ,'out_box0');"
onChange="outmsg( this.value ,'out_box1');"

にすれば、エラーは直ると思います。

ただし、補足のHTMLだとformタグやtrタグがなかったり
layerタグの位置の問題で、ネスケで正常に動作しないと思いますが、その辺りはブラウザを再読込しながら色々試してみると良いかと思います。
(この辺りがネスケの苦労するところ、苦笑)

参考まで
お礼コメント
kanato

お礼率 60% (6/10)

何度も回答してもらってありがとうございました。
エラー直りました!!
でもネスケで全然動いてくれない・・・
IEでは正常に動いてくれるのですが(涙)
色々試してみたのですがまだ無理です。

再度色々試してみたいと思いますが、どうしても無理な
時はまた質問という形をとってもよろしいでしょうか?

hequilさんには何度もご迷惑をおかけしていると思いますが
どうぞ宜しくお願い致します。
投稿日時 - 2001-03-07 19:49:16
  • 回答No.2
レベル9

ベストアンサー率 43% (45/104)

すみません、確認画面ではちゃんと表示されてたんですが、わけわかんないソースになってしまってますね。 &lt;:< &gt;:> とそれぞれ読み替えてください。 ...続きを読む
すみません、確認画面ではちゃんと表示されてたんですが、わけわかんないソースになってしまってますね。

&lt;:<
&gt;:>

とそれぞれ読み替えてください。
お礼コメント
kanato

お礼率 60% (6/10)

さっそくの回答ありがとうございました。
ソースを参考に試してみたいと思います。
投稿日時 - 2001-03-06 19:10:48
  • 回答No.3
レベル12

ベストアンサー率 65% (242/372)

ものすごくシンプルに書くとこんな感じになります。 ※「<」と「>」は実際には半角で書いて下さいね。 <form name="sample"> <input type="text" name="in_box" onChange="document.sample.out_box.value=this.value;&qu ...続きを読む
ものすごくシンプルに書くとこんな感じになります。
※「<」と「>」は実際には半角で書いて下さいね。

<form name="sample">
<input type="text" name="in_box" onChange="document.sample.out_box.value=this.value;">
<input type="text" name="out_box">
</form>

参考まで
補足コメント
kanato

お礼率 60% (6/10)

とてもわかりやすい説明ありがとうございました!!
試してみたところうまくいきました。
そこでもう一つなのですが、同じ処理を
入力は

<input type="text" name="in_box" onChange="document.sample.out_box.value=this.value;">

のテキストボックスで、その変更された値を表示するのは
テキストボックスではなくて

<td><b><font>ここに値が入ります</font></b></td><br>

にしても同じような事は可能でしょうか?
すみませんがよろしくお願いします。
投稿日時 - 2001-03-06 19:07:37
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ