【问题标题】:I need to get the value of the text box我需要获取文本框的值
【发布时间】:2016-11-04 07:36:08
【问题描述】:

我正在尝试获取循环中的输入类型文本的值,该循环是从 JavaScript 填充的,类似于:

test.innerHTML += "<span class=egclass'><span class='egclass2'><input type='text' id='idText' name='textName' value='${eController.userName["+i+"]}' /></span>

我能够将输入的文本值发送到后端控制器,但无法通过以下方式获取值:document.getElementsByName[i].value;

感谢任何帮助。

谢谢。

【问题讨论】:

  • 您不应该使用document.getElementById 而不是document.getElementsByName吗?
  • 你试过document.getElementsByName("textName")[i].value吗?
  • 我也尝试过使用 getElementById。但它不起作用。我越来越空了。 @ThePloki
  • 是的,这是来自循环迭代的整数 @user3917611
  • 非常感谢@user3917611。你的建议奏效了。 :)

标签: javascript jquery html spring-mvc


【解决方案1】:

如果您发布更多代码会有所帮助,因为我们对上下文有些困惑,但我会试一试:

试着改成这样:

test.innerHTML += "<span class=egclass'><span class='egclass2'><input type='text' id='idText_"+i+"' name='textName' value='${eController.userName["+i+"]}' /></span>

那么你应该可以使用document.getElementById('idText_'+i).value访问它

希望对你有帮助。

编辑:将.innerHTML 更改为.value。此外,正如 Cobus 在 cmets 中提到的,值得指出的是,这解决了问题的原因是因为所有输入现在都将具有唯一的 ID。

【讨论】:

  • "document.getElementsByName("textName")[i].value" 工作得非常好@ThePloki。非常感谢您的建议。我也会像上面提到的那样尝试一下。
  • 只是为了更好地解释这一点,问题是原始代码创建了多个具有相同 ID 的输入。只有第一个可以访问。此答案通过创建唯一 ID 解决了该问题。
  • 另外@Rnga,如果您非常喜欢这个答案,请接受它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-18
  • 1970-01-01
  • 2021-11-11
相关资源
最近更新 更多