idを動的に変更



0   名前: 一美 : 2007/09/07(金) 08:56  ID:TaF8pNUP sub-I6
【何をしたいのか】
→ ボタンを押すとテーブルが一行追加され、追加された行のセルの内容が<input type="text" id="a">となる。
  もう一度ボタンを押すと再度テーブルに一行追加され<input type="text" id="a">付加される。
2度目の行追加時は、一回目の<input type="text" id="a">ではなく、idを動的に変更させながら追加できるようにした   い。

【現在の状況】
→ ボタンを押すと行が追加されるが<input type="text" id="a">のidが不変のまま。

idは動的に変更できないのでしょうか??

1   名前: 匿名 : 2007/09/07(金) 08:56  ID:R5Xfp6oT sub-Ds
あのね。idというのは・・・nameとはちがうよ。

2   名前: 一美 : 2007/09/07(金) 08:56  ID:TaF8pNUP sub-I6
お返事ありがとうございます。

すいません。初心者なので詳しくないんです↓

nameなら、動的に変化させることが出来ますか??

3   名前: 匿名 : 2007/09/07(金) 08:56  ID:RRwY88x6 sub-Ax
ちょっと気になった。
IDを変更させるのはダメ?
一意であればいいのでは?
もとのIDを変更(他とかぶらないように)してやれば問題ないのでは?

4   名前: 匿名 : 2007/09/07(金) 08:56  ID:rRa9.kRR sub-2m
表のセルなんて簡単に識別できるものを、いちいち id をつける理由がわからない。

5   名前: 一美 : 2007/09/07(金) 08:56  ID:TaF8pNUP sub-I6
なぜ、動的になるように設定したいかと言いますと、
他でテーブルの値を読み出すときに同じIDだとうまく行かないという理由からです。

ほかに、良いアドバイスがあればお願いします。

6   名前: 匿名 : 2007/09/07(金) 08:56  ID:Iq7prWSS sub-pq
結論から言えば、後からid属性を設定する事は可能だと思いますが。

ソースに対するアドバイスが欲しいなら、今書いておられる物を提示されれば、
より詳しく示唆してくれる人がいるかもしれません。

7   名前: 匿名 : 2007/09/07(金) 08:56  ID:rRa9.kRR sub-2m
>>5
とりあえず『id は動的に変更できるか』の問いに関しては、「普通に可能」と答えざるをえない。具体的なコードもないので、どこでつまづいているのかも分からない。


で、話がイマイチ通じていないようだが、表のセルは tableElement.rows[m].cells[n] で一意に決定しうる。各行は rowIndex、各セルは cellIndex というプロパティを持つから、自分の位置さえ分かれば他のセルに移動するのは簡単だ。

それなのに「なぜ、input 要素に id なんぞ振るなんて面倒なことをしているの?」という設計上の理由を聞いたわけ。id を振らずに済む話なら、それに越したことはないでしょ。同じ id だとうまくいかないなんてのは、HTML の基礎文法レベルの話だよ。

http://www.hyuki.com/writing/techask.html
> 実行手順 ―ー 手順は箇条書きで書きましょう
> 結果の予想 ―― 期待した結果を書きましょう
> ソース ―― 関連する部分を抽出して示しましょう
> 環境 ―― 自分の環境をはっきり書きましょう

8   名前: 一美 : 2007/09/07(金) 08:56  ID:TaF8pNUP sub-I6
ボタンを押すたびにテーブルが1行追加されるプログラムは、
function addRow(){
 var el = document.getElementById('T1'); //行を追加するTを選択
 var tr = el.insertRow(el.rows.length);   //TRエレメント挿入
 var td = tr.insertCell(); //TDエレメント挿入
td.innerHTML = '<input type="text" id="eki">'; //駅名称入力フィールド追加
tr.insertCell().innerHTML = '<input type="text" id="jud">'; //受電状態入力フィールド追加
}

皆様のご意見とアドバイスお願いします。

一覧へ戻る