【问题标题】:How can i add attribute to a textbox using javascript?如何使用 javascript 向文本框添加属性?
【发布时间】:2011-09-21 01:11:31
【问题描述】:

我有一个数据列表,其中我有一个文本框名称 txtvoteoption 现在我在此文本框上添加项目数据绑定的属性,但现在我想使用 java 脚本添加第三个属性?

我想在 java 脚本上使用这个的原因是因为我在这个页面上有一个下拉菜单,它也使用下拉菜单进行更改,我想在这个更改事件中添加这个属性

这段代码在项目数据绑定事件上运行良好

txtVoteOption.Attributes.Add("onfocus", "EnableTip('" + txtVoteOption.ClientID + "','text',1);");
            txtVoteOption.Attributes.Add("onblur", "DisableTip('" + txtVoteOption.ClientID + "','text');");
            txtVoteOption.Attributes.Add("validation", "Required,Please enter option A,default.png;4");

我试过了,但它不起作用这是 javascript 代码。

   var txtOption1=document.getElementById("ctl00_cphContent_dlVoteOption_ctl01_txtVoteOption");
  alert(txtOption1);
  txtOption1.attributes.add('validation', 'Required,Please enter option A,default.png;4');

【问题讨论】:

  • .Attributes.Add 函数有什么作用?您不应该添加非标准的 HTML 属性或 DOM 节点属性。
  • 我已经在上面的代码中提到,这段代码是 c# 中的服务器端代码,它在 datalist 的项目数据绑定事件上。这对我来说很好,但现在我必须从 javascript 完成这项任务
  • 不,您没有,但感谢您在 cmets 中澄清。

标签: javascript textbox custom-attributes


【解决方案1】:

这是第一个示例,您似乎使用了某种框架。在第二个你没有。

txtOption1.attributes 返回一个NamedNodeMap [docs]。它没有方法add

您必须使用element.setAttribute [docs],然后使用element.getAttribute [docs] 访问它。

您还应该考虑使用HTML5 data attributes 以实现兼容性。避免添加任何其他类型的自定义属性。每个元素都有一组明确定义的允许属性。

【讨论】:

  • 我浏览了您在此处发布的 mozilla 的 url。我确实做了这些事情,但是当我使用 firebug 时,它并没有显示我使用此代码添加的自定义属性。
  • var txtOption1=document.getElementById("ctl00_cphContent_dlVoteOption_ctl01_txtVoteOption"); txtOption1.attributes.setNamedItem("validation","必填,请输入选项A,default.png;4");
  • 感谢 Felix Kling 为我工作。我只是犯了一个小错误,但它现在对我有用。
  • @rahularyansharma:对我来说效果很好:jsfiddle.net/fkling/y4ZuR Firebug 显示属性。
猜你喜欢
  • 2023-03-10
  • 2012-07-13
  • 1970-01-01
  • 2020-10-13
  • 1970-01-01
  • 1970-01-01
  • 2011-10-26
  • 1970-01-01
相关资源
最近更新 更多