22

我有一个 asp.net mvc 应用程序,我正在尝试为我的文本框动态分配值,但它似乎不起作用(我现在只在 IE 上进行测试)。这就是我现在所拥有的。。

document.getElementsByName('Tue').Value = tue;(顺便说一下 tue 是一个变量)

我也尝试过这种变化,但它也没有奏效。

document.getElementsById('Tue').Value = tue;(顺便说一下 tue 是一个变量)

有人可以告诉我我哪里出了问题吗?

4

7 回答 7

23

如何处理文本框取决于 HTML 代码:

<!-- 1 --><input type="textbox" id="Tue" />
<!-- 2 --><input type="textbox" name="Tue" />

如果您使用“id”属性:

var textbox = document.getElementById('Tue');

对于“名称”:

var textbox = document.getElementsByName('Tue')[0]

(注意 getElementsByName() 以数组的形式返回所有具有名称的元素,因此我们使用 [0] 来访问第一个)

然后,使用“值”属性:

textbox.value = 'Foobar';
于 2009-01-25T11:08:10.670 回答
18

它是document.getElementById,而不是 document.getElementsByID

我假设你<input id="Tue" ...>的标记中有某个地方。

于 2009-01-25T11:05:21.817 回答
5

您的代码中有两个问题。

  1. 使用getElementByName代替getElement**s**ByName
  2. 使用valuein 小写而不是Value.
于 2011-11-17T12:03:42.803 回答
5

如果您使用的是 Chrome,请使用控制台进行调试。按 SHIFT+CTRL+j 使控制台显示在屏幕上。

相信我,它有很大帮助。

于 2012-09-29T06:33:41.180 回答
4

听起来我们需要假设您的文本框名称和 ID 都设置为“星期二”。如果是这种情况,请尝试在 .value 上使用小写 V。

于 2009-01-25T11:02:44.457 回答
4

正如复数getElementsByName()所暗示的那样,它是否总是返回具有此名称的元素列表。因此,当您有一个具有该名称的输入元素时:

<input type="text" name="Tue">

它是第一个具有该名称的元素,您必须使用它document.getElementsByName('Tue')[0]来获取具有该名称的元素列表的第一个元素。

除此之外,属性区分大小写,并且 value 属性的正确拼写是.value.

于 2009-01-25T11:08:39.407 回答
4

您可以使用

formname.textboxname.value="delete";
于 2013-03-29T12:55:55.697 回答