我正在尝试使用表单从javascript中的html文本框调用变量 我的HTML看起来像这样:
<script type='javascript'>
var X = 5;
</script>
<input type='text' name='name'>
<input type='button' onclick='document.getElementById("output").innerHTML = name.value' value='click'>
<p id='output'></p>
问题是,当您单击按钮时,段落会显示您在文本输入中键入的内容。似乎脚本正在接收name.value的值作为字符串。我该如何解决这个问题,以便当文本框为X时段落显示5?
答案 0 :(得分:1)
尝试将name.value替换为:
window[name.value]
答案 1 :(得分:0)
1)所有“值”总是一个字符串。如果您想将其转换为其他内容,则需要手动执行此操作。
2)你没有传入X,你传递的是“name.value”。在这种情况下,name是某种变量(不在您的示例中)。您可能希望获取输入字段“name”的值,在这种情况下,您需要为您的名称输入一个id(例如'nameInput'),然后获取其值:
document.getElementById('nameInput').value; //(your html would be <input id='nameInput' type='text' etc. etc. />
3)如果您确实想将输入值设置为5,则需要尝试:
document.getElementById("output").innerHTML = X
答案 2 :(得分:0)
好吧,当变量呈现为字符串时,我认为没有办法从变量中获取值。似乎这是最简单的方法:
<input type='text' name='name'>
<input type='button' onclick='document.getElementById("output").innerHTML = ((name.value == "X") ? ("5") : (name.value))' value='click'>
<p id='output'></p>