人に聞けない痔の悩み、これでスッキリ >>

教えていただけないでしょうか?
ボタンをおすと、どんどんテキストフィールドが増やせる
単純なスクリプトを書きたいのですが、Javascript初心者のため、
恥ずかしながら手が出ません。

できればprototype.jsを使用したものがいいのですが、
フィールドの値に関するものなどしかなくて。
フィールドをはじめ、エレメントを追加するにはどのように記述すれば
よいのでしょうか。

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

A 回答 (1件)

prototype.js自体にはエレメントの生成ってなかったんじゃないかなぁ?


DOMで用意されているのは
・エレメントを作るのはcreateElement
・エレメントを追加するのは
(prototype.jsにもバリエーションがあるようだけど)
appendChildです。

以下、サンプル。
<html>
<head>
<title></title>
<script type="text/javascript">
// 「<input name="XXX"><br>」 をtargetに追加する
function addfield(target){
var O = document.getElementById(target);//追加する対象(親エレメント)
var INP = document.createElement('input');//INPUTの生成
INP.setAttribute('name','XXX');//属性の設定(name="XXX")
O.appendChild(INP);//対象への追加
var BR = document.createElement('br');//BRの生成
O.appendChild(BR);//対象への追加
}
</script>
</head>
<body>
<p id="hoge"></p>
<input type="button" value="+" onclick="addfield('hoge')">
</body>
</html>

余談ですが、type="text"(デフォルト)以外を追加するのはちょっと厄介(IEの手抜き実装のため)
    • good
    • 0
この回答へのお礼

ありがとうございます。

やっぱりprototype.jsでは無いのですね。。。
以前Ext JSを触れていたことがあるので、サポートされてるのかと思っていたんですが。

納得したうえに、理解できてすごく助かりました☆

お礼日時:2008/04/13 01:27

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


人気Q&Aランキング