※ ChatGPTを利用し、要約された質問です(原文:フォームに入力した値の制御について)
フォームに入力した値の制御について
このQ&Aのポイント
フォームの[text]と[textarea]に入力をしてもらいたい
入力値のサンプルを表示されるようにしました。
カーソルを[text]と[textarea]に入れると、
入力値のサンプルの表示が消えて入力出来るようにしました。
[text]と[textarea]に入力をしてもらった値を、
最終的にtextareaに出力させるようになっています。
何も入力せず出力をさせると、サンプル値は出力されてしまいます。
[text]と[textarea]に入力をした値のみ出力させることは可能でしょうか。
質問文章全体の100文字程度の要約文を3つ作成し、文章の内容をまとめてください
フォームに入力した値の制御について
いろいろと調べてみたのですが、
どうすれば良いか分からないので、
質問をさせて頂きました。
【概要】
フォームの[text]と[textarea]に入力をしてもらいたい
入力値のサンプルを表示されるようにしました。
カーソルを[text]と[textarea]に入れると、
入力値のサンプルの表示が消えて入力出来るようにしました。
【やりたい事】
[text]と[textarea]に入力をしてもらった値を、
最終的にtextareaに出力させるようになっています。
何も入力せず出力をさせると、サンプル値は出力されてしまいます。
[text]と[textarea]に入力をした値のみ出力させることは可能でしょうか。
ご教授頂ければと思います。
よろしくお願いいたします。
【ソース】
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN
Frameset" "http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<script type="text/javascript">
<!--ログ生成スクリプトを取得-->
function textoutput(formObj) {
<!--text01を取得-->
var text01 = formObj.elements["text01"].value;
<!--text02を取得-->
var text02 = formObj.elements["text02"].value;
<!--textarea01を取得-->
var textarea01 = formObj.elements["textarea01"].value;
<!--textarea02を取得-->
var textarea02 = formObj.elements["textarea02"].value;
<!--出力データを作成-->
var text = '';
<!--text3データを作成-->
if(text01!==""){
text += '質問1:' + '\n'+ text01 + '\n';
}
<!--text2データを作成-->
if(text02!==""){
text += '質問2:' + '\n'+ text02 + '\n';
}
<!--textarea01データを作成-->
if(textarea01!==""){
text += '質問3:' + '\n'+ textarea01 + '\n';
}
<!--textarea02データを作成-->
if(textarea02!==""){
text += '質問4:' + '\n'+ textarea02 + '\n';
}
<!--出力データを作成-->
formObj.elements["output"].value=text;
}
</script>
</head>
<body>
<form name="form01">
<strong>・諮問1:</strong><br>
<input type="text" name="text01" value="1入力してください" id="p1" size="30" class="disabled"
onfocus="if (this.value == defaultValue) this.value = '';" onblur="if (!this.value) this.value = defaultValue;"><br>
<strong>・諮問2:</strong><br>
<input type="text" name="text02" value="2入力してください" id="p2" size="30" class="disabled"
onfocus="if (this.value == defaultValue) this.value = '';" onblur="if (!this.value) this.value = defaultValue;"><br>
<strong>・諮問3:</strong><br>
<textarea name="textarea01" id="textarea01" cols="60" rows="5"
onfocus="if(this.value == this.defaultValue) this.value=''"
onblur="if(this.value == '') this.value=this.defaultValue">
3入力してください
</textarea><br>
<strong>・諮問4:</strong><br>
<textarea name="textarea02" id="textarea02" cols="60" rows="5"
onfocus="if(this.value == this.defaultValue) this.value=''"
onblur="if(this.value == '') this.value=this.defaultValue">
4入力してください
</textarea><br>
<strong>・出力結果:</strong><br>
<input type="button" value="ログ出力" onClick="textoutput(this.form);"> <br>
<textarea cols=60 rows=20 name="output" ></textarea>
</form>
</body>
</html>
お礼
アドバイスをして頂きことが理解するこが出来ました。 おかげさまで、希望通りの入力フォームを作ることが出来ました。 ありがとうございました。
補足
アドバイスありがとうございます。 理屈は理解したのですが、 構文を見てもちんぷんカンプンでごめんなさい。 下記のスクリプトをどのように修正すれば良いのかを、 ご教授頂けないでしょうか? 何卒よろしくお願いいたします。 【ソース】 <!--text3データを作成--> if(text01!==""){ text += '質問1:' + '\n'+ text01 + '\n'; } <input type="text" name="text01" value="1入力してください" id="p1" size="30" class="disabled" onfocus="if (this.value == defaultValue) this.value = '';" onblur="if (!this.value) this.value = defaultValue;"><br>