Javascript 为什么我的元素值没有更改?我是否使用了错误的函数?
我有一个asp.NETMVC应用程序,我试图动态地为我的文本框赋值,但它似乎不起作用(我现在只在IE上测试)。这就是我现在拥有的Javascript 为什么我的元素值没有更改?我是否使用了错误的函数?,javascript,textbox,Javascript,Textbox,我有一个asp.NETMVC应用程序,我试图动态地为我的文本框赋值,但它似乎不起作用(我现在只在IE上测试)。这就是我现在拥有的 document.getElementsByName('Tue')。Value=Tue(顺便说一下,tue是一个变量) 我也尝试过这种变化,但也不起作用 document.getElementsById('Tue')。Value=Tue(顺便说一下,tue是一个变量) 有谁能告诉我这个问题出在哪里吗?听起来我们需要假设您的文本框名称和ID都设置为“Tue”。如果是这样
document.getElementsByName('Tue')。Value=Tue代码>(顺便说一下,tue是一个变量)
我也尝试过这种变化,但也不起作用
document.getElementsById('Tue')。Value=Tue代码>(顺便说一下,tue是一个变量)
有谁能告诉我这个问题出在哪里吗?听起来我们需要假设您的文本框名称和ID都设置为“Tue”。如果是这样,请尝试在.value上使用小写的V。是,而不是document.getElementsByID
我假设您的标记中有
。如何寻址文本框取决于HTML代码:
<!-- 1 --><input type="textbox" id="Tue" />
<!-- 2 --><input type="textbox" name="Tue" />
对于“名称”:
var textbox = document.getElementsByName('Tue')[0]
(注意getElementsByName()返回名称为array的所有元素,因此我们使用[0]访问第一个元素)
然后,使用“值”属性:
var textbox = document.getElementById('Tue');
textbox.value = 'Foobar';
正如getElementsByName()
中的复数所暗示的,它是否总是返回具有此名称的元素列表。因此,当您有一个具有该名称的输入元素时:
<input type="text" name="Tue">
它是第一个具有该名称的元素,您必须使用document.getElementsByName('Tue')[0]
来获取具有该名称的元素列表的第一个元素
除此之外,属性区分大小写,value属性的正确拼写是。value
代码中有两个问题
使用getElementByName
而不是getElement**s**ByName
使用小写的值
,而不是值
如果您使用的是Chrome,则使用控制台进行调试。按SHIFT+CTRL+j将控制台显示在屏幕上
相信我,这很有帮助。你可以使用
formname.textboxname.value="delete";
关于getElements,你是对的,它的getElementByID和我的getElementsById。。很好的理解Thanx只是想澄清一下,因为阅读答案并不能立即看出,正确的代码是:document.getElementById('Tue')。value='BLAH';“如果您使用的是Chrome,则使用控制台进行调试。按SHIFT+CTRL+j可在屏幕上显示控制台。”必须记住:SHIFT+CTRL+j