1

我在javascript中有一个变量“count”和一个我想依赖于该变量的单选按钮。有一个按钮可以生成更多单选按钮,这就是为什么我需要它们的名称属性不同。

我的代码:

var count = 1;
function newForm(){
...<input name=count type="radio" value="Website" />...
}

但它只是将每个附加单选按钮的名称设置为“count”,而不是“count”代表的数字。

这是整个代码:

var count = 1;
function newForm(){
var newdiv = document.createElement('div');
newdiv.innerHTML = '<div class="line"></div><br><input type="text" name="Name" 
class="field" placeholder="Full Event Name" /><br><input type="text" name="Location"       
placeholder="Event Location" class="field" /><br> <input type="text" name="Date" 
placeholder="Event Date" class="field" /> <br> <input type="text" name="End" 
placeholder="Event End Date (If Applicable)" class="field" /> <br> <input type="text" 
name="Time" placeholder="Event Time" class="field" /> <br> <input type="text"     
name="Tags" 
placeholder="Relevant Tags" class="field" /> <br> The info is from: <input name=count 
type="radio" value="Tweet" checked="" />Tweet <input name=count type="radio"   
value="Website" 
/>Website <input name=count type="radio" value="Tweet and Website" /> Tweet and  
Website';
if(count < 10) {
    document.getElementById('formSpace').appendChild(newdiv);
    count++;
}

}

顺便说一句,上面的 newdiv.innerHTML 字符串都在代码的一行中。

4

2 回答 2

2

如果您尝试创建元素,请使用createElement()

var count = 1;

function newForm(){
     var input = document.createElement('input');

     input.name  = count;
     input.type  = 'radio';
     input.value = 'Website';
}
于 2013-05-22T21:44:49.413 回答
1

在你的长字符串innerHTML中,你需要转义你的“count”变量......否则它只是一个字符串......即

'<input name='+count+' type="radio" value="Tweet and Website" />';

这将使它工作,但正如其他人所提到的 - 你真的不应该像这样嵌入长的 html 字符串。

于 2013-05-22T22:03:30.227 回答