質問するログイン新規登録

回答編集履歴

3

forループ中のコードを修正し忘れてました…

2015/12/24 01:07

投稿

htsign
htsign

スコア870

answer CHANGED
@@ -12,7 +12,9 @@
12
12
 
13
13
  for (var i = 0, len = targets.length; i < len; ++i) {
14
14
  var e = targets[i].cloneNode(false);
15
+ var l = targets[i].nextSibling.cloneNode(true);
15
16
  df.appendChild(e);
17
+ df.appendChild(l);
16
18
  }
17
19
  if (!df.hasChildNodes()) {
18
20
  var radio = document.createElement("input");

2

JSでname属性を設定するの忘れてました。。

2015/12/24 01:07

投稿

htsign
htsign

スコア870

answer CHANGED
@@ -19,7 +19,8 @@
19
19
  var label = document.createElement("label");
20
20
  var val = 99;
21
21
  radio.type = "radio";
22
- radio.id = "exam01_" + val;
22
+ radio.name = "exam01";
23
+ radio.id = [name, val].join("_");
23
24
  radio.value = val;
24
25
  label.for = radio.id;
25
26
  label.appendChild(document.createTextNode(val));

1

JSの出力結果がHTMLに準じるよう修正 あとHTMLの方も少し修正しました

2015/12/24 00:55

投稿

htsign
htsign

スコア870

answer CHANGED
@@ -1,8 +1,8 @@
1
1
  ```lang-html
2
2
  <form id="base_form">
3
3
  <input type="radio" name="exam01" id="exam01_1" value="1" checked/><label for="exam01_1">1</label>
4
- <input type="radio" name="exam01" id="exam01_2" value="2"/><label for="exam01_2">1</label>
4
+ <input type="radio" name="exam01" id="exam01_2" value="2"/><label for="exam01_2">2</label>
5
- <input type="radio" name="exam01" id="exam01_3" value="3"/><label for="exam01_3">1</label>
5
+ <input type="radio" name="exam01" id="exam01_3" value="3"/><label for="exam01_3">3</label>
6
6
  </form>
7
7
  <form id="new_form"></form>
8
8
  ```
@@ -16,9 +16,15 @@
16
16
  }
17
17
  if (!df.hasChildNodes()) {
18
18
  var radio = document.createElement("input");
19
+ var label = document.createElement("label");
20
+ var val = 99;
19
- radio.type = "radio";
21
+ radio.type = "radio";
22
+ radio.id = "exam01_" + val;
20
- radio.value = 99;
23
+ radio.value = val;
24
+ label.for = radio.id;
25
+ label.appendChild(document.createTextNode(val));
21
26
  df.appendChild(radio);
27
+ df.appendChild(label);
22
28
  }
23
29
  document.getElementById("new_form").appendChild(df);
24
30
  ```