您好我刚接触Javascript,我正在尝试为来自输入框的变量赋值,然后在循环中访问该变量。我尝试过使用document.getElementbyID('inputboxID')。value;和document.getElementbyName('inputboxName')。value;但它不起作用。
这是我的代码:
<script>
var count = 0;
$(function(){
$('p#add_field').click(function() {
var num = document.getElementById('enfonum').value;
while (count < num) {
count +=1;
$('#container').append(
'<strong>Enforcer #'+count+'</strong><br/>'
+'<input id="field_ '+count+'"name="field[]'+'"type="text"/><br/>');
}
});
});
}
</script>
这是输入框的代码:
<input type="text" id="enfonum" name="enfotxt"/>
以下是将触发脚本执行的链接代码:
<p id="add_field">< a href="#"><span>» Add Enforcer</span></a></p>
答案 0 :(得分:0)
您的代码无效的原因只是document.GetElementById
不存在,正确的语法为document.getElementById
。
这是一个jsfiddle的例子。
祝你好运和良好的继续,
干杯!
答案 1 :(得分:0)
您必须在运行时获取enfonum
输入的值,而不是在初始页面加载期间将其存储在num
var。
以下是具有正确代码的工作示例:
var count = 0;
var num = document.getElementById('enfonum');
$('p#add_field').click(function () {
while (count < num.value) {
count += 1;
$('#container').append('<p><strong>Enforcer #' + count + '</strong><br/>'
+ '<input id="field_' + count + '" name="field[]' + ' "type="text"/><br/></p>');
}
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p><input type="text" id="enfonum" name="enfotxt" /></p>
<p id="add_field"><a href="#"><span>» Add Enforcer</span></a></p>
<div id="container"></div>
&#13;
答案 2 :(得分:0)
删除代码中的额外 }
,它会给您语法错误。
之后尝试了,代码有效。
语法错误可能会破坏你的javascript,使用像 firebug 这样的插件来解决你的javascript错误是明智之举。
让我知道它是否有效。