忙しい現代人の腰&肩のお悩み対策!

フォームに入力した文字を挿入して出力する方法

JavaScript初心者です。
複数のフォームに入力した文字をタグなどに挿入して、
テキストエリアに出力するにはどうしたらいいのでしょうか?

↓出力例
<table>
<tr><td><a href="あああ">いいい</a></td></tr>
<tr><td><a href="あああ">ううう</a></td></tr>
(改行)
<tr><td><a href="えええ">いいい+ううう</a></td></tr>
</table>

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

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

A 回答 (3件)

<script type="text/javascript">


function hoge(form) {
var str = '';
var value1 = form.form1.value;
var value2 = form.form2.value;
var value3 = form.form3.value;
var value4 = form.form4.value;
str = '<table>\n<tr><td><a href="' + value1 + '">';
str += value2 + '</a></td></tr>\n';
str += '<tr><td><a href="' + value1 + '">';
str += value3 + '</a></td></tr>\n\n';
str += '<tr><td><a href="' + value4 + '">' + value2 + value3;
str += '</a></td></tr>\n</table>';
form.kekka.value = str;
}
</script>

onclick="hoge(this.form);"

No.2補足の「例」にある通り出力してみましたが。
    • good
    • 0
この回答へのお礼

無事にやりたいことができました。
ありがとうございました。

お礼日時:2010/02/15 19:14

→form1のvalueになる「あああ」はアンカーのhrefになる?


→form2のvalueになる「いいい」はアンカーのテキストになる?
→form3のvalueになる「ううう」はアンカーのテキストになる?
→「えええ」はどこからでてきたの?
→「いいい」と「ううう」を「+」で結合してるの?
→テーブルの間に改行を入れるというのはどういうこと

回答不能・・・補足が必要

この回答への補足

<input type="text" name="form4" value="えええ">
が抜けていました。
あああ~えええを、出力例の同じ文字の場所に入るようにです。

あああ を1列目と2列目のアンカーのhrefに
いいい を1列目のアンカーテキストに
ううう を2列目のアンカーテキストに
えええ を3列目のアンカーのhrefに
いいい+ううう は3列目のアンカーテキストに+を抜いて繋げて表示。
改行は、そこを1行あけてテキストエリアに表示です。
挿入する場所は、アンカーだけと決まってるわけではなく、
<ts class="">など他のタグにも挿入したいです。
↓例
<table>
<tr><td><a href="あああ">いいい</a></td></tr>
<tr><td class="ううう"><a href="あああ">ううう</a></td></tr>
(改行)
<tr><td><a href="えええ">いいい+ううう</a></td></tr>
</table>
うまく説明できずすいません。

補足日時:2010/02/05 03:38
    • good
    • 0
この回答へのお礼

無事にやりたいことができました。
ありがとうございました。

お礼日時:2010/02/15 19:14

>複数のフォームに入力した文字をタグなどに挿入して、


>テキストエリアに出力するにはどうしたらいいのでしょうか?

命題と例示がかけ離れすぎていて何をしたいかわかりません。
例のどこにもフォームに関する記述がないです
何をどうしたいかもう一度考えを深めてから再度ご質問なさったほうが
いいでしょう。

この回答への補足

説明不足で申し訳ありません。

<form action="">
<input type="text" name="form1" value="あああ">
<input type="text" name="form2" value="いいい">
<input type="text" name="form3" value="ううう">
<input type="button" value="出力" onClick="">

ボタンを押すとtableタグに上のフォームの文字を挿入して、
その結果を別の場所に作ったテキストエリア↓に、表示させたいです。

<textarea name="kekka" cols="20" rows="20">
<table>
<tr><td><a href="あああ">いいい</a></td></tr>
<tr><td><a href="あああ">ううう</a></td></tr>
(改行)
<tr><td><a href="えええ">いいい+ううう</a></td></tr>
</table>
</textarea>
</form>

↓のサイトが近いかもしれません。
http://www.mech.tohoku-gakuin.ac.jp/nken/e-learn …

補足日時:2010/02/04 14:55
    • good
    • 0

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

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

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

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

QIOException ってどういうときに起こるのでしょうか?

IOException ってどういうときに起こるのでしょうか?

http://www.atmarkit.co.jp/fjava/rensai2/javaent12/javaent12.html
を見て勉強しています。

  catch ( IOException e) {
    System.out.println( "キーボードが故障しているのかもしれません" );
  }

と書いてあります。
ハード(キーボード)が故障しているのを Java のプログラムのレベル(ソフトウェア)で感知できるというのがよくわかりません。「

NumberFormatException の方はわかるのですが・・・

Aベストアンサー

現実的には、キーボードからの入力でIOExceptionが発生することは、
ほとんどあり得ないと思います。
そもそも、キーボードが故障していたとしても、
IOExceptionは投げられないでしょう。
「キーボードが故障しているのかもしれません」というのは、
その記事の著者が冗談で書いたのだと思います。

ではなぜ、try-catchを書かなくてはいけないのか?
InputStreamやBufferedReaderは、
データ入力を抽象化したものだからです。
実際の入力元はキーボードだったり、ファイルだったり、
ネットワーク接続だったりするわけですけど、
InputStreamは、その入力元の情報を持っていないので、
データを読み取る際は常に
IOExceptionをキャッチするコードを書かなくてはいけません。
たとえ、絶対にIOエラーが発生しないストリームだとしても。

さらに付け加えるなら、
そもそも「標準入力=キーボード」であるとは限りません。
(一般的にはキーボードであることが多いですが。)
Javaでは、
System.setIn(InputStream)
を呼び出して、標準入力を変えてしまうことができますし、
標準入力を指定してプログラムを実行することができるOSもあります。

追伸1:
例外をキャッチしたときは、
スタックトレースをプリントすることをおすすめします。
catch (IOException e) {
e.printStackTrace();
}

追伸2:
そのプログラムでIOExceptionを発生させる最も簡単な方法は、
readLine()を呼び出す前に
標準入力(System.in)を閉じてしまうことです。
System.in.close();

現実的には、キーボードからの入力でIOExceptionが発生することは、
ほとんどあり得ないと思います。
そもそも、キーボードが故障していたとしても、
IOExceptionは投げられないでしょう。
「キーボードが故障しているのかもしれません」というのは、
その記事の著者が冗談で書いたのだと思います。

ではなぜ、try-catchを書かなくてはいけないのか?
InputStreamやBufferedReaderは、
データ入力を抽象化したものだからです。
実際の入力元はキーボードだったり、ファイルだったり、
ネットワーク接...続きを読む


人気Q&Aランキング