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

このQ&Aに関連する最新のQ&A

A 回答 (5件)

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>

参考まで
    • good
    • 0
この回答へのお礼

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

ダブルクォーテーションの中にダブルクォーテーションは使えないので、



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タグの位置の問題で、ネスケで正常に動作しないと思いますが、その辺りはブラウザを再読込しながら色々試してみると良いかと思います。
(この辺りがネスケの苦労するところ、苦笑)

参考まで
    • good
    • 0
この回答へのお礼

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

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

hequilさんには何度もご迷惑をおかけしていると思いますが
どうぞ宜しくお願い致します。

お礼日時:2001/03/07 19:49

ものすごくシンプルに書くとこんな感じになります。


※「<」と「>」は実際には半角で書いて下さいね。

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

参考まで

この回答への補足

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

<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
    • good
    • 0

すみません、確認画面ではちゃんと表示されてたんですが、わけわかんないソースになってしまってますね。



&lt;:<
&gt;:>

とそれぞれ読み替えてください。
    • good
    • 0
この回答へのお礼

さっそくの回答ありがとうございました。
ソースを参考に試してみたいと思います。

お礼日時:2001/03/06 19:10

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;
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QN値による軟弱地盤の判定

ある本にN値による軟弱地盤の判定
ってあったのですが、粘性土はN値4以下、砂質土はN値10以下が軟弱地盤とあったんですが、どうして粘性土と砂質土では、数値(N=4、10)が違うのですか?同じN値でも土質によってN値の評価が違うのですか?教えて下さい。

Aベストアンサー

 N値から離れて、しばらく経つので、以下は予想です。

 まず同じ土質なら、N値が低いほど軟弱、これは良いですよね?。次にN値って何だったかと言うと、簡単に言えば、鋼管を地面に垂直に立てておいて、パイルドライバー(←だったっけ?)で杭頭を何回ぶっ叩いたら、鋼管が一定量地盤に貫入するかの回数だったと思います。この際、地盤の主な抵抗は、圧縮作用によるものと思われます。

 粘性地盤を基準に取ります。砂質土は粘性地盤より脆いはずなので、貫入試験で砂質土のN値が、粘性地盤を上回ったとしても、主に圧縮抵抗を測っているだけだとすれば、叩いた回数はそのまま信用できません。その辺りが、土質別のN値評価に関わりそうです。

>同じN値でも土質によってN値の評価が違うの・・・?

 だと思います。


 N値の解説は、Googleしてみれば専門サイトで沢山出ると思います。ここはどちらかと言うと、理論物理系の板
なので、ここよりもっと良い解説を見れる気がします。


 調べてみて下さい。

Qテキストボックスの値変更時のイベント

フォーム上のテキストボックスに、前の画面で入力したデフォルト値が表示されている状態で、テキストボックスの値を変更したらJavaScriptの関数でチェックさせたいと考えているのですがうまくいきません。

onChangeイベントは値を変更(例えば削除するなど)して、Enterキーを押すなりフォーカスを移すなりしないとイベントが発生しないので、変更されたら即座にチェックということができません

何かうまい方法はないでしょうか?

Aベストアンサー

timeID = window.setInterval("TextChange();",1);

で、常に function TextChange を呼び出し続けることで
テキストの変化を監視することが出来ます。

監視を中止したい時は、
clearInterval = timeID; で止められます。

setInterval を使うと、ミスをした場合
無限ループに陥る可能性があるのでご注意下さい。
(alert表示などは特に、強制終了しか方法がなくなります。)

setInterval を使いこなせるようになると
プログラミングの幅が広がりますので、いい機会かも知れませんよ。
なにより、楽しいですし。(笑

参考URL:http://www.google.co.jp/search?hl=ja&ie=Shift_JIS&q=javascript+setinterval&btnG=Google+%8C%9F%8D%F5&lr=lang_ja

Q戸建て判断 ボーリング結果のN値の見方

木造二階建て住宅の建築(ベタ基礎)を予定しております。

1年前まで水田で現在は盛土2メートルの造成がされています。
地盤が気になるので、契約前に周辺のボーリング結果を見せてもらいました。

地下2mまで粘土混じり砂礫 N値3
2m~3m  砂       N値11
3m~7m  砂混じりシルト N値1~3
7m~8m  砂礫  N値40
8m~15m  礫混じり砂  N値11~40
15m~16m シルト  N値11
16m~18m 砂       N値18~35
18m~19m シルト     N値8
19m~20m 砂       N値22

地下水位2m

以上ですが、何分素人な物で地盤が弱いのだろうな・・くらいしか分かりません。
これに適した地盤改良は何でしょうか?
施工業者は、地盤改良の必要は無い、との判断なので不安になります。

よろしくお願い致します。

Aベストアンサー

ANo.5です。「この回答への補足」欄に疑問点が書かれていましたが、返答が遅くなり申し訳ありません。

「10センチ以内程度」と書いたのは3~4センチかもしれないし7~8センチくらいかもしれないということで、最大10センチ見ておけば良いのではないかと言うことです。
地盤改良等を何もせずに建て、仮に10センチ沈下すると想定した場合、建物も均等に10センチ沈めばあまり問題は起こらないのですが、たいていの場合は不同沈下し傾くことが多いようです。
傾き量は建物の重さがどの程度偏りがあるか、敷地内で地盤がどのようにどの程度不均一なのかによって違うようで予測は難しく、10センチ以内で傾くとしか言いようがありません。

傾いた場合は建て替えをせず、傾きを修正する工事をすることになります。
実際に私が担当したことがあるのは、傾いてはいるがこれ以上沈下する確率が少ないと判断して、基礎はそのままにして土台をジャッキアップして修正し、土台と基礎の間にスペーサーを入れた工事。
杭打ちをしているのに支持層まで達しておらずに傾き、杭頭にジャッキを掛けて基礎から持ち上げ(この場合建物の自重で元の杭を支持層まで押し込みます。)足りなくなった杭長分を鋼管杭で足して修正した工事です。
前者の工事で百数十万円、後者の工事で8百万円程度、もちろん建物の大きさで変わりますが、いずれにしても建てかえるよりは安いのですが多額の費用でした。

地盤の保証は10年を超えて行うことはないのではないでしょうか。
例えば20年の保証に応じてくれる施工会社があればいいのですが、まずしないと思いますし、大手の会社じゃない限りいくら信頼できる会社であっても、会社そのものがいつまで存続するのかの問題もありますよね。
理想ですが、これだけやれば大丈夫だ、保証なんかいらないよって言うくらいにご自身が納得できる方法のとれることが一番だと思います。

ANo.5です。「この回答への補足」欄に疑問点が書かれていましたが、返答が遅くなり申し訳ありません。

「10センチ以内程度」と書いたのは3~4センチかもしれないし7~8センチくらいかもしれないということで、最大10センチ見ておけば良いのではないかと言うことです。
地盤改良等を何もせずに建て、仮に10センチ沈下すると想定した場合、建物も均等に10センチ沈めばあまり問題は起こらないのですが、たいていの場合は不同沈下し傾くことが多いようです。
傾き量は建物の重さがどの程度偏りがあ...続きを読む

Qコンボボックスに連動するテキストボックスの表示数変更

入力フォームを作成しており、コンボボックスの数に応じて、
テキストボックスの表示数を変更させたいと考えています。

コンボボックスでの選択が「2」になれば、その下に表示される
テキストボックスの数も2つ表示させたいと思います。


<html>
<head>
</head>
<body>
<form>
項目数:
<SELECT>
<OPTION selected>1</OPTION>
<OPTION>2</OPTION>
<OPTION>3</OPTION>
<OPTION>4</OPTION>
<OPTION>5</OPTION>
</SELECT>
<br>
<br>
項目1:<input type="text" name="test1" size="20">
</form>
</body>
</html>


処理方法をサイトなどで調べましたが、該当するものが見あたりませんでしたので、ご教授お願いいたします。

Aベストアンサー

この手のヤツは、最初から最大数分の要素をつくっておき、
当初は使えなくしておくというのが、よろしいのでは?
もちろんムダも多いですが、消したりつけたりするときには
確実に処理ができます。

<html>
<head>
<script>
function changeFunc(obj,dClass,iClass){
var f=obj.form;
var v=Number(obj.value);
var cnt=1;
for(var i=0;i<f.length;i++){
if(f[i].className==iClass){
if(v>=cnt++) f[i].disabled=false;
else f[i].disabled=true;
}
}
var cnt=1;
var divs=document.getElementsByTagName('div');
for(var i=0;i<divs.length;i++){
if(divs[i].className==dClass){
if(v>=cnt++) divs[i].style.display="block";
else divs[i].style.display="none";
}
}
}
</script>
</head>
<body>
<form>
項目数:
<SELECT onChange="changeFunc(this,'viewClass','inputClass')">
<OPTION value="1" selected>1</OPTION>
<OPTION value="2">2</OPTION>
<OPTION value="3">3</OPTION>
<OPTION value="4">4</OPTION>
<OPTION value="5">5</OPTION>
</SELECT>
<br>
<br>
<div class="viewClass">項目1:<input type="text" name="test1" class="inputClass" size="20"></div>
<div class="viewClass">項目2:<input type="text" name="test2" class="inputClass" size="20" disabled></div>
<div class="viewClass">項目3:<input type="text" name="test3" class="inputClass" size="20" disabled></div>
<div class="viewClass">項目4:<input type="text" name="test4" class="inputClass" size="20" disabled></div>
<div class="viewClass">項目5:<input type="text" name="test5" class="inputClass" size="20" disabled></div>
</form>
</body>
</html>

単純にするなら、divのstyleのdisplayだけつけたり消したりでも
いいでしょう。
サブミットするときムダなデータが飛ばなくするにはdisabledを
つける必要があります。

この手のヤツは、最初から最大数分の要素をつくっておき、
当初は使えなくしておくというのが、よろしいのでは?
もちろんムダも多いですが、消したりつけたりするときには
確実に処理ができます。

<html>
<head>
<script>
function changeFunc(obj,dClass,iClass){
var f=obj.form;
var v=Number(obj.value);
var cnt=1;
for(var i=0;i<f.length;i++){
if(f[i].className==iClass){
if(v>=cnt++) f[i].disabled=false;
else f[i].disabled=true;
}
}
var cnt=1;
var div...続きを読む

QN値と換算N値

N値と換算N値では、どのように違うのでしょうか?

Aベストアンサー

N値は「標準貫入試験」という地盤調査を行って得られる値で、今ではもっとも標準的な地盤の強さを表す指標となっています。
換算N値は、それより簡略な地盤調査で得られる指標を、N値に換算したものです。標準貫入試験に比べて誤差が大きく、よくつかわれる「スウェーデン式サウンディング」では、2倍ぐらい誤差がある(値半分)と思ったほうがよいです。

N値を地盤の耐力に換算する式としては、建築基準法の告示H13年第1113号の式が標準的につかわれます。
http://www2.ashitech.ac.jp/arch/osakabe/semi/foundation/low/r93k1113.html

Qプルダウン形式リストボックス(コンボボックス)の値を変更したい

こんにちは!
教えて下さい。

チェックボックスとコンボボックスがあります。
コンボボックスの一つ目の値は(any)、二つ目以降はDATAです。
デフォルトでは、「チェック無し、コンボボックスの値(any)、コンボボックスは使用不可」にしています。
チェックボックスをチェックするとコンボボックスを使用出来、コンボボックスの値をあるDATAにしたとします。

ここで問題なのですが、この地点でチェックボックスを外した時、コンボボックス
の値を(any)と表示させたいのです。(コンボボックスも使用不可)
コンボボックスの表示されている値を任意に変えれるのでしょうか?

初心者なもので、すごく簡単な質問だったらお許し下さい。

Aベストアンサー

コンボを初期状態に戻したいという事ですよね?
それでしたら例えば、

 document.forms( 'formA' ).elements( 'comboA' ).selectedIndex = 0 ;

とすれば、「 formA 」というフォーム内の「 comboA 」の選択状態を先頭の項目に
戻せます。

Q数学の問題です。 A=4n+6/n-3の値が整数となるような整数nの最大値を求めよ。また、Aの最大値

数学の問題です。

A=4n+6/n-3の値が整数となるような整数nの最大値を求めよ。また、Aの最大値も求めよ。

解説お願いしたいです。。

Aベストアンサー

A=(4n+6)/(n-3)とのことですので、先ほどの修正含め説明します。
nに注目すると4nをnで割るので、
(4n+6)=4(n-3)+18と変形します。
つまり、4余り18と表現できます。

Aが整数となるので、18はn-3の倍数です。
18の約数は1,2,3,6,9,18です。
n-3はこれら6個に±を付けた12個に絞られます。

よってnが最大となるのは18+3で21です。

また、Aが最大となるのは18/(n-3)が最大となる時なので、n-3=1
よってn=4
この時A=22/1=22です。

Q2つのセレクトボックスで選ばれた結果をテキストボックスに入れたい

フォーム内に▼次のような2つのセレクトボックスと1つのテキストボックスがあります。
お支払い方法と配送方法を選んだときにそれぞれに対応した送料をテキストボックスに入れるにはどうしたらよいでしょうか?

--------------------------------------
お支払い方法:[ 代金引換 ▼]
配送方法:  [ 宅配便  ▼]
送料:    [ 800円   ]    
--------------------------------------

●セレクトボックス1:お支払い方法
銀行振込、郵便振替、代金引換

●セレクトボックス2:配送方法
郵便、宅配便

●テキストボックス:送料
※ユーザーが変更することはできない。

セレクト |セレクト |テキスト
ボックス1|ボックス2|ボックス
-----------------  
銀行振込 |郵便   |200円
銀行振込 |宅配便  |600円
郵便振替 |郵便   |200円
郵便振替 |宅配便  |600円
代金引換 |郵便   |400円
代金引換 |宅配便  |800円


http://www.ueda.info.waseda.ac.jp/~gaku/js/how013.html
http://www.openspc2.org/reibun/javascript/form_textfield/007/index.html
上記URLを参考に試行錯誤しているのですが期待どおりに動作しないため、こちらに投稿させていただきました。
Javascriptはかろうじて読むことは可能ですが、自分で書くことがままならいレベルです。どうぞよろしくお願いいたします。

フォーム内に▼次のような2つのセレクトボックスと1つのテキストボックスがあります。
お支払い方法と配送方法を選んだときにそれぞれに対応した送料をテキストボックスに入れるにはどうしたらよいでしょうか?

--------------------------------------
お支払い方法:[ 代金引換 ▼]
配送方法:  [ 宅配便  ▼]
送料:    [ 800円   ]    
--------------------------------------

●セレクトボックス1:お支払い方法
銀行振込、郵便振替、代金引換

●セレクトボックス2...続きを読む

Aベストアンサー

このような書き方ではどうでしょうか?

*** JavaScript 部分***
function fncChgSouryou() {
//銀行振込の場合
if (document.all["selectShiharai"].value == "0") {
//郵便の場合
if (document.all["selectHaisou"].value == "0") {
document.all["outSouryou"].value = "200";
//宅配便の場合
}else if (document.all["selectHaisou"].value == "1") {
document.all["outSouryou"].value = "600";
}
//郵便振替の場合
}else if (document.all["selectShiharai"].value == "1") {
//郵便の場合
if (document.all["selectHaisou"].value == "0") {
document.all["outSouryou"].value = "200";
//宅配便の場合
}else if (document.all["selectHaisou"].value == "1") {
document.all["outSouryou"].value = "600";
}
//代金引換の場合
}else if (document.all["selectShiharai"].value == "2") {
//郵便の場合
if (document.all["selectHaisou"].value == "0") {
document.all["outSouryou"].value = "400";
//宅配便の場合
}else if (document.all["selectHaisou"].value == "1") {
document.all["outSouryou"].value = "800";
}
}
}

*** html 部分***
<select name="selectShiharai" size="1" tabindex="0" onchange="javascript:fncChgSouryou()">
<option value="0" selected>銀行振込</option>
<option value="1">郵便振替</option>
<option value="2">代金引換</option>
</select><br>
<select name="selectHaisou" size="1" tabindex="0" onchange="javascript:fncChgSouryou()">
<option value="0" selected>郵便</option>
<option value="1">宅配便</option>
</select><br>
<input type="text" name="outSouryou" size="10" value="200" style="text-align:right" readonly>円

JavaScript部分は上記だとかなり丁寧(?)な書き方で以下のように書くことも
可能です。

function fncChgSouryou() {
if (document.all["selectShiharai"].value == "2") {
if (document.all["selectHaisou"].value == "0") {
document.all["outSouryou"].value = "400";
}else {
document.all["outSouryou"].value = "800";
}
}else {
if (document.all["selectHaisou"].value == "0") {
document.all["outSouryou"].value = "200";
}else {
document.all["outSouryou"].value = "600";
}
}
}

項目名やメソッド名などはお好みで変えて下さい。

このような書き方ではどうでしょうか?

*** JavaScript 部分***
function fncChgSouryou() {
//銀行振込の場合
if (document.all["selectShiharai"].value == "0") {
//郵便の場合
if (document.all["selectHaisou"].value == "0") {
document.all["outSouryou"].value = "200";
//宅配便の場合
}else if (document.all["selectHaisou"].value == "1") {
document.all["outSouryou"].value = "600";
}
//郵便振替の場合
}else if (document.all["selectShiharai"].value == "1") {
//郵便の場合
...続きを読む

Q(1+(1/n))^nの極限でeの値を求める

lim_n→∞ (1+(1/n))^nのとき値がeに近づいていくということは知っていますが、(1+(1/n))^nを計算機に入力し、nの値をだんだん大きくしていくと(1+(1/n))^nがeより大きくなってしまいます。

何故このようなことが起こっているのか詳しく説明してくれる方いませんか?

Aベストアンサー

大きくなる原因をより詳しく言うと
2進数で表現すると n=10^p に対する 1+1/n の値は正確に表現できず, 常に 0.5 ulp 程度の誤差は考えられる. IEEE754 の倍精度実数であれば 2^-53 程度. つまり, もとから (1+1/n)^n の真の値を計算しているわけじゃなくて (1+1/n+ε)^n の計算をしている (手元計算機における ε は絶対値でだいたい 10^-16 くらい).
この ε の存在は n が小さいときには ((1+1/n)^n の値が e から離れているので) 無視できるが, n が大きくなると無視できなくなる. で, n=10^9 のときに破綻した, と.
実際, n を 2 のべきにすると p=52 まできちんと計算していくはずです.

Q多数のテキストボックス値の合計値

例えば、
横に30列ほど可変に並ぶテキストボックスがあって、
更にそれが縦に100行ほど可変に並んでるような表があって、
各行の値を合計欄に表示するJavaScript。これをサーバサイドでなくクライアントで処理したいのです。
単純にスクリプトをずらーっと書いて作ることは、私でも可能ですが、スクリプト行を極力少なくしたいのです。何か良い知恵をお願いします。
(ちなみに、横に並ぶテキストボックス名は、aa_1,aa_2,aa_3・・・というふうに規則的に名付けています。)

Aベストアンサー

横列縦列共に動的に生成されると解釈してよろしいですか?
それであれば、押さえるポイントとロジックとして、、、
1.縦軸の列数
2.1の要素数を持った配列
3.2の要素にそれぞれの横軸の最大カラム(テキストボックス)数
4.1~3を元に2重ループを回し、eval文を使ってフォーム変数名を動的に生成し順次加算する
でいけると思います。


人気Q&Aランキング

おすすめ情報