ボタンを押したらテキストボックスに変化

[新着] Webテンプレートを仮オープンしました



0   名前: morio : 2005/11/29 10:49
+−−−+−−−−−+−−+
|ID   |Pass   |  |
+−−−+−−−−−+−−+
|12345 |abcde    |□ |
+−−−+−−−−−+−−+
|67890 |fghij    |□ |
+−−−+−−−−−+−−+

 <修正ボタン>

こういったテーブルがあった場合。
ID:12345の人にチェックを入れて、
修正ボタンを押したら、パスワードの部分が、
abdefgと保持したまま、テキストボックスに変わるとするには
どうすればいいのでしょうか?

なんかうまく図がかけなくてすいません。
右側の□は、チェックボックスのつもりです。

1   名前: Pid : 2005/11/29 10:49
板違いですので,JavaScript 質問板へ再投稿なさると良いでしょう。その際は「用途」および「実際の HTML」を明らかにして下さい。

以下はおまけ(JavaScript 1.6/Firefox 1.5 用)。用途・HTML の書き方によってはもっと楽に書けるでしょう(特に,HTML ソースに改行があるかないかで随分違ってくる)。

Array.forEach(document.getElementsByTagName('table')[0].rows, function(row) {
  row.cells[2] && Array.forEach(row.cells[2].getElementsByTagName('input'), function(p) {
    var pwcell = row.cells[1];
    var pwcont = pwcell.firstChild;

    // チェックがあればテキストボックスに,無ければ普通のテキストに
    pwcell.replaceChild(function(oldNode) {
      return (p.checked && oldNode.nodeType == 3 /*TEXT_NODE*/) ? function(node) { node.value = oldNode.data; return node; } (document.createElement('input'))
      : (!p.checked && oldNode.nodeType == 1 /*ELEMENT_NODE*/) ? document.createTextNode(oldNode.value)
      : oldNode;
    } (pwcont), pwcont);
  } );
} );

2   名前: morio : 2005/11/29 10:49
JavaScriptになるんですね!
すみません、それなのにわざわざ返信していただきありがとうございました。

一覧へ戻る