2011-11-13 68 views
0

我想用一个窗体从javascript中的HTML文本框中调用一个变量。
我的HTML看起来像这样:javascript/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

您直接指定'name.value'作为值,您希望它给你多少'X'?魔法?在你问这里之前,你看起来没有任何想法。 –

+0

@ShadowWizard或者你看起来不太好。 'X'是一个值为“5”的变量。 ANYWAY,我不知道在Javascript中是否有可能从名称中获得变量的值。 – RobinJ

+1

@Robinj我认为'暗影精灵'说因为这个问题不是很清楚。看起来提问者可能想要X的价值。 – andrewh

回答

0

1)所有“价值”总是会是一个字符串。如果您想将其转换为其他东西,则需要手动执行此操作。

2)你没有传入X,你传入“name.value”。在这种情况下,名称是某种变量(不在你的例子中)。你可能想要得到的输入字段“名”在这种情况下,你想给你的名字输入自己的ID(“nameInput”为例)的值,然后正是如此得到其数值:

document.getElementById('nameInput').value; //(your html would be <input id='nameInput' type='text' etc. etc. /> 

3 )如果你真的要设置的输入到5的值,你会想尝试:

document.getElementById("output").innerHTML = X 
+0

如果我使用“document.getElementById(”output“)。innerHTML = X”,那么不会使用txtbox。我只是想使用txtbox从JavaScript文件调用变量。 –

+0

你的问题不清楚。你究竟在努力完成什么?它看起来像你试图从文本框A中获取值并将其放入文本框B.如果是这种情况,那么解决方案2就是你需要的(在我的建议中)。在你的代码中,你把X作为你的价值,所以,我帮助你理解为什么你看到你所看到的,尽管X看起来是任意的和不相关的。 –

1

尝试更换name.value: window[name.value]

+0

确实,看起来这是OP的真正之后。 –

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>