dポイントプレゼントキャンペーン実施中!

JavaScriptまったくの初心者です。
文法も何も分からない状態です。。。

ホームページの
・テキストエリア1
・テキストエリア2
・テキストエリア3

があったとして、そこに入力された文字列をホームページ上に表示させることってできますか?
表示方法としては

「僕は「テキストエリア1に入力された文字列」「テキストエリア2に入力された文字列」です。」

という感じです。
テキストエリアに入力が無い場合は
「僕はです。」

といった感じで表示したいのです。。。

しかも、テキストエリアに入力があった場合、テキストエリアの文字の頭に「!」を付けたいです。
(例)テキストエリア1に「テスト」テキストエリア3に「サンプル」と入力があった場合
  僕は!テスト!サンプルです。

JavaScriptでできるのかどうか、できる場合の記述を教えてください。
完全にまる投げとなってしまい本当に申し訳ございませんが、とても困っています。。。

宜しくお願い致します。

A 回答 (4件)

No.1です。



失敬、テキストエリアでしたね。
<textarea id="text1" onkeyup="func(this)"></textarea>
<textarea id="text2" onkeyup="func(this)"></textarea>

※WHY何故(目的)も抜けてました。
目的があれば....なのに
    • good
    • 0
この回答へのお礼

いろいろとご指摘頂きありがとうございました。
大変参考になりました。

お礼日時:2011/07/19 11:14

さんこうにもならないとおもいますが、あっぷしよう~っと。


うごくかんきょうは、かぎられます。
ぜんかくくうはくは、はんかくに。
じぶんにも、じゅもんにしかみえません。^^;

<!DOCTYPE html>
<title></title>

<body>
<div id="huga"></div>
<form action="#">
 <div onkeyup="test()">
  <textarea name="abc" cols="20">せっかくのタイトルが有効、</textarea><br>
  <textarea name="abc" cols="20">お礼、</textarea><br>
  <textarea name="abc" cols="20">ghi</textarea>
 </div>
</form>

<script type="application/javascript; version=1.8">

var hoge = (function (get)
 function (es, ary) Array.reduce (es, get, ary))
  (function (a, n) let (v = n.value) v ? (a.push('!' + v), a): a);

var test = function ()
 let (d = document)
  d.getElementById ('huga').innerHTML =
   hoge (d.getElementsByName ('abc'), ['質問は、']).join ('') + 'です。';

</script>
    • good
    • 0

おそらく、質問者さんの意図と異なるでしょうが


回答例です。

<body>
<h1>僕は<span id="span1"></span><span id="span2"></span>です。</h1>
<div>
<input type="textarea" id="text1" onkeyup="func(this)">
<input type="textarea" id="text2" onkeyup="func(this)">
</div>
<script type="text/javascript">
<!--
function func(elm){
 this.set=function (node){
  while(node.hasChildNodes()) node.removeChild(node.firstChild);
  node.appendChild(document.createTextNode('!'+elm.value));
 }
 var t1 = document.getElementById("span1");
 var t2 = document.getElementById("span2");
 if(elm.value!=""){
   switch(elm.id){
   case "text1":
    this.set(t1);
    break;
   case "text2":
    this.set(t2);
    break
   }
 }
}
// -->
</script>
</body>
    • good
    • 0

コードを示すのは簡単ですが、その前に


 
 人に仕事を依頼するとき5W1H(誰が、何時、何を、何処で、どのように)
の情報が必須ですよね。プログラムも同じです。
 でないと、思っていた答えが得られず、何回もやり取りを繰返す事になります。

ご質問では、「何を」と「どのように」は書いてありますが、その他の仕様が
不明です。

例えば
 誰が:「ブラウザーのjavascript」で
  (javascript無しで、サーバーサイドのプログラムでも出来ます。)
 何時:
  「XXをクリックした時」とか、「ページを表示した時」とか、
   以前にセットした値を使ってとか
 何処に:
  「ホームページ上」では、漠然としすぎてます。
  「HTMLのXX要素に」とか、アラートボックスでとか、ポップアップウィンドウに
  とか
    • good
    • 0

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