我在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字符串都在代码中的一行上。
答案 0 :(得分:2)
如果您要创建元素,请使用createElement()
:
var count = 1;
function newForm(){
var input = document.createElement('input');
input.name = count;
input.type = 'radio';
input.value = 'Website';
}
答案 1 :(得分:1)
在你的longHTML长字符串中你需要转义你的“count”变量......否则它只是一个字符串...即
'<input name='+count+' type="radio" value="Tweet and Website" />';
这将使其工作,但正如其他人提到的那样 - 你真的不应该嵌入像这样的长html字符串。