プロが教える店舗&オフィスのセキュリティ対策術

ボタンを押したら、その文字がテキストフィールドに記入されていく、といったスクリプトを作りたいのですが、どうもうまくいきません。
以下がとりあえず作成したスクリプトですが、ここからどのようにすれば、うまく出来るでしょうか?

とりあえずしたい事は、例えば、「野菜」「肉」「魚」と順にボタンを押すと、テキストフィールドに「野菜 肉 魚」と記入されていくようにしたいのですが。

今の状態ではボタンを押す度に、その文字が変わるだけで、連続して記入されていきません。

JavaScriptは初心者ですがアドバイス宜しくお願いします。

****************************
<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!--

str = new Array(3);
str[0] = "野菜";
str[1] = "肉";
str[2] = "魚";

function setMsg(id) {
document.all.str.innerHTML = str[id];
}
// -->
</SCRIPT>
</HEAD>
<BODY>
<p><textarea name="sss" rows="3" cols="40" ID="str"></textarea></p>
<p><input type = "button" value="野菜"
onClick="setMsg(0)" >
<input type = "button" value="肉"
onClick="setMsg(1)">
<input type = "button" value="魚"
onClick="setMsg(2)"></p>
</BODY>
</HTML>

A 回答 (2件)

> document.all.str.innerHTML = str[id];


単に代入しているから、置き換わるのでは。
加算代入演算子に変えてみて下さい。

<html><head>
<script type="text/javascript">
function setMsg( inp ){
document.console.sss.value += inp.value;
}
</script>
</head><body>
<form name="console">
<textarea name="sss" rows="3" cols="40" ID="str"></textarea>
<br>
<input type= "button" value="野菜" onClick="setMsg(this)">
<input type= "button" value="肉" onClick="setMsg(this)">
<input type= "button" value="魚" onClick="setMsg(this)">
</form>
</body></html>
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
見事に出来る事が出来ました。
まだまだ、勉強不足ですね。
また何かありましたら宜しくお願いします。

お礼日時:2002/09/24 07:48

こうしてもいいみたい。



document.all.str.innerHTML = str[id];

document.all.str.innerHTML += str[id];
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
見事に出来ました。
まだまだ、勉強不足みたいですね。
また何かありましたら宜しくお願いします。

お礼日時:2002/09/24 07:49

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