我有一个asp.net mvc应用程序,我正在尝试动态地为我的文本框分配值,但它似乎无法正常工作(我现在只在IE上测试)。这就是我现在所拥有的......
document.getElementsByName('Tue').Value = tue;
(顺便说一下tue是一个变量)
我也尝试过这种变化,但它也没有用。
document.getElementsById('Tue').Value = tue;
(顺便说一下tue是一个变量)
有人可以告诉我这里哪里出错吗?
答案 0 :(得分:23)
如何处理文本框取决于HTML代码:
<!-- 1 --><input type="textbox" id="Tue" />
<!-- 2 --><input type="textbox" name="Tue" />
如果您使用'id'属性:
var textbox = document.getElementById('Tue');
代表'name':
var textbox = document.getElementsByName('Tue')[0]
(请注意,getElementsByName()返回所有元素,其名称为数组,因此我们使用[0]访问第一个
然后,使用'value'属性:
textbox.value = 'Foobar';
答案 1 :(得分:18)
它是document.getElementById,而不是document.getElementsByID
我假设你的标记中有<input id="Tue" ...>
。
答案 2 :(得分:5)
您的代码中存在两个问题。
getElementByName
代替getElement**s**ByName
value
代替Value
。答案 3 :(得分:5)
如果您使用的是Chrome,请使用控制台进行调试。按SHIFT + CTRL + j在屏幕上显示控制台。
相信我,它有很多帮助。
答案 4 :(得分:4)
听起来我们需要假设您的文本框名称和ID都设置为“Tue”。如果是这种情况,请尝试在.value上使用小写的V。
答案 5 :(得分:4)
正如getElementsByName()
中的复数所暗示的那样,它总是返回具有此名称的元素列表。所以当你有一个具有该名称的输入元素时:
<input type="text" name="Tue">
并且它是第一个具有该名称的人,您必须使用document.getElementsByName('Tue')[0]
来获取具有此名称的元素列表的第一个元素。
除此之外,属性区分大小写且值属性的正确拼写为.value
。
答案 6 :(得分:4)
您可以使用
formname.textboxname.value="delete";