标题说明了一切,我在javascript中的变量中设置了一个值。 我想将该值设置为表单中某行的值。
这是代码,这是基于以前类似的问题和他们接受的答案,但不知何故它对我不起作用。
<html>
<head>
<script>
var counter = 0;
var limit = 50;
function addInput(divName){
if (counter == limit) {
alert("You have reached the limit of adding " + counter + " inputs");
}
else {
var newdiv = document.createElement('div');
newdiv.innerHTML = "Element " + (counter + 1) + " <input type='text' name='myInputs[]'>";
document.getElementById(divName).appendChild(newdiv);
counter++;
}
}
</script>
</head>
<body>
<form method="POST" align="center">
<script>
var emotion = "";
var raw = Math.random();
var final = Math.ceil(raw * 4);
if (final == 1)
document.getElementById("someid").value = "A";
else if (final == 2)
document.getElementById("someid").value = "B";
else if (final == 3)
document.getElementById("someid").value = "C";
else if (final == 4)
document.getElementById("someid").value = "D";
</script>
<div id="dynamicInput">
Title<br><input type="text" value="" name="myInputs[]" id="someid" disabled>
</div>
<input type="button" value="Add another event" onClick="addInput('dynamicInput');">
<br>
<input type="submit" value="Submit">
</form>
</body>
</html>
我也尝试过这样的事情:
document.forms[0].myInputs[0].value="Whatever"
在脚本标记内,但这也不起作用。
Edit_1 我希望在禁用的输入字段中有一些值,就在标题下面,但它是空的。
这是图片:
如何根据随机数生成器获得某些值?
答案 0 :(得分:2)
检查jsfiddle,这是由于你如何安排你的脚本,你要么移动你的代码在html下面,要么使用onload()事件
示例
onload="test()"
然后你就不用担心js应放在哪里了
<script>
function test(){
var emotion = "";
var raw = Math.random();
var final = Math.ceil(raw * 4);
if (final == 1)
document.getElementById("someid").value = "A";
else if (final == 2)
document.getElementById("someid").value = "B";
else if (final == 3)
document.getElementById("someid").value = "C";
else if (final == 4)
document.getElementById("someid").value = "D";
}
</script>
https://jsfiddle.net/gw04jhoj/
您可以参考此信息获取更多信息 Javascript that executes after page load
答案 1 :(得分:1)
您的脚本在创建这些HTML元素之前正在运行,因此设置其值将失败,因为document.getElementById(&#34; someid&#34;)尚未存在。您应该在浏览器的错误控制台中看到此失败(F12)。
尝试移动脚本,直到您创建了相关的HTML元素,或者更好地将脚本更改为execute once the document has loaded。
答案 2 :(得分:0)
您应该使用:
document.getElementById("someid").value="whatever";