javascript - getElementsByName() 不起作用?

标签 javascript html codeigniter getelementsbyname

<分区>

我有一个 Javascript 函数,它应该使用每次调用该函数时递增的数字更新我表单中的隐藏输入字段。

它最初使用 getElementById() 但是因为我必须重新设计我的表单我不能使用 php 函数为元素分配一个单独的 ID 所以我所拥有的只是该元素的唯一名称.

因此我决定使用 Javascript 中的 getElementsByName() 来修改元素。

这是该元素的 HTML

  <input type="hidden" value="" name="staff_counter">

这是我的 Javascript 代码:

window.onload=function()
{

//function is activated by a form button 

var staffbox = document.getElementsByName('staff_counter');
                    staffbox.value = s;


                s++;
}

调用该函数时,我在 Firebug 上没有收到任何错误,并且输入字段未获得赋予它的值。

它与 getElementById() 一起工作,但为什么突然间它不能与 getElementsByName() 一起工作?

  • -我已检查它是文档中唯一的唯一元素。
  • -我在激活该功能时检查了 Firebug 是否有任何错误

这是我使用 Codeigniter 制作元素的代码

// staff_counter is name and the set_value function sets the value from what is
//posted so if the validation fails and the page is reloaded the form element does
// not lose its value

echo form_hidden('staff_counter', set_value('staff_counter'));

谢谢

最佳答案

document.getElementsByName() 返回 NodeList ,因此您必须通过索引访问它:document.getElementsByName('staff_counter')[0](取决于您有多少)。

您还可以访问 length 属性来检查有多少元素被匹配。

关于javascript - getElementsByName() 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6967297/

相关文章:

javascript - HTML anchor 标记下载属性在 Firefox 中不适用于 jpg 和 png 文件

javascript - 如何在 JavaScript 中编写 String 的替换方法?

javascript - 如何在 Swift 中获取 UIWebView 中的 JS 值?

php - 如何在最新版本的 codeigniter 中集成 tinymce

php - 在一个页面上组合多个 Controller ,而无需从 Controller 加载 Controller

javascript - 监控/调试 SignalR 数据

java - 使用 Wicket 删除 HTML 标签

javascript - 如何使用 angularjs ng-repeat 将数组中的 html 字符串转换为 html?

javascript - codeigniter auth(Tank Auth) 无缘无故地将我注销(即可能是过载)

javascript - 尝试从 mobilefirst 应用程序中的 SQL 数据库获取数据时出错