TEXT欄の表示について
- 0 名前: おかか : 2004/09/02 14:07
- またもや、皆さんのお力を貸してください。
1つのテキストに値が入力されたら、それとは別のテキストに入力された
テキストのデータをいれたいのですが、なにかいい方法はありませんか?
できれば他のページを開きたくはないのですが。。
- 1 名前: U D : 2004/09/02 15:24
- それはできますが、問題は、
どういうときに、その別のテキストに、入力されたデータをいれるかです。
例えば1文字入力されるごとに移すのか、
ボタンを押したときに移すのか、テキストボックスからマウスが離れたときとか、
まぁいろいろできるはずです。
フォーカスが外れたときが一番良いんじゃないかなー。
まぁとりあえずそこのところを教えてください。
- 2 名前: おかか : 2004/09/02 15:30
- UDさんがおしゃっている通り、
1文字入力されるごとに移すのではなく、
入力が完了してフォーカスが外れたとき、いっぺんに
データを入れたいと思っています。
- 3 名前: U D : 2004/09/02 15:41
- とりあえず、JavaScriptは分かりますか?
予想外に返信が超速だったのでまだ作れてません。。。
ちょっと待ってくださいね。
- 4 名前: U D : 2004/09/02 15:49
- <head>〜</head>内に
<script type="text/javascript"><!--
function text(){
a=document.form1.text1.value;
document.form1.text2.value=a;
}
//--></script>
<body>〜</body>内に
<form name="form1">
<input type="text" name="text1" size="20" onblur="text()">
<input type="text" name="text2" size="20">
</form>
ふう、確認とるのに時間がかかってしまった。。。
こんなんでいいと思う。(多分)
- 5 名前: おかか : 2004/09/02 16:20
- UDさんのに教えていただいたようにしたみたら
無事データを移すことができました。
javascriptはまだまだ使いきれていなかったので助かりました。
ありがとうございました。
- 6 名前: おかか : 2004/09/03 11:05
- 解決したはずなのですが、追加でお願いします。
<head>〜</head>内
<script type="text/javascript"><!--
function text(){
a=document.form1.text1.value;
document.form1.2.value=a;
}
//--></script>
<body>〜</body>内に
<form name="form1">
<input type="text" name="text1" size="20" onblur="text()">
<input type="text" name="2" size="20">
</form>
上記のようにtextの名前を数字に設定しているとデータが移りません。。
数字に設定するのはまずいのでしょうか?
私の場合、データベースとの連携をしているので、
HTMLの記述をwhileでまわしています。
なので、一つ一つのtextの名前を変えなくてはいけないで
数字を使って名前をつけているのですが。。
- 7 名前: Sinryow : 2004/09/03 12:14 [URL]
- > 数字に設定するのはまずいのでしょうか?
数字で始まる文字は変数名等に使えないので無理です。
> 私の場合、データベースとの連携をしているので、
> HTMLの記述をwhileでまわしています。
> なので、一つ一つのtextの名前を変えなくてはいけないで
> 数字を使って名前をつけているのですが。。
こんな感じでいかがでしょう?
<html>
<head>
<script type="text/javascript"><!--
function text(mainform, subform){
a=document.form1.elements[mainform].value;
document.form1.elements[subform].value=a;
}
//--></script>
</head>
<body>
<form name="form1">
<input type="text" name="text1" size="20" onblur="text('text1', 'text2')">
<input type="text" name="text2" size="20">
<br>
<input type="text" name="text3" size="20" onblur="text('text3', 'text4')">
<input type="text" name="text4" size="20">
<br>
<input type="text" name="text5" size="20" onblur="text('text5', 'text6')">
<input type="text" name="text6" size="20">
<br>
</form>
</body>
</html>
- 8 名前: おかか : 2004/09/03 13:13
- >数字で始まる文字は変数名等に使えないので無理です。
初めて知りました。恥ずかしながら・・・
Sinryowさんが書いてくださったコードですが、
少し違うように感じました。
私の場合、
$db->Sql("SELECT MODEL一覧.* FROM MODEL一覧 WHERE (((MODEL一覧.MODEL)='$param{'MODEL'}'));");
while( $db->FetchRow() ){
undef %Data;
%Data = $db->DataHash();
print<<"END";
<INPUT TYPE="text" name=$Data{'name'}>
END
}
というようにループでまわしているので
1つずつ<INPUT TYPE="text" name="text1">
というように名前を付けれません。
なので、データベースから持ってきている主キーのコードを
名前につけようとしていました。
しかし、数字で始まる文字は変数名等に使えないとの事だったので
名前を
$A = "T".$Data{'コード'};
<INPUT TYPE="text" name=$A>
としてみたら、無事データを移すことができました。
Sinryowさん、
ありがとうございました。