通过javascript访问表单元素 - 什么是正确的方法?

时间:2011-08-11 14:55:59

标签: javascript asp.net

我正在开发一个asp.net应用程序,我想让它至少与所有3个主要浏览器(Internet Explorer,Firefox,Chrome)兼容。

在某些页面中,我需要通过javascript访问表单元素。 这样做的正确方法是什么,以便它适用于所有浏览器?

我一直在做这样的事情

document.forms[0].elements["nroErros"].value

例如,访问我的“nroErros”隐藏字段,即使这适用于IE,它似乎在Firefox上无法正常工作。

所以,问题是,使它始终有效的正确方法是什么?

4 个答案:

答案 0 :(得分:3)

确定的方法是给他们一个ID并使用document.getElementById或jQuery $ selector。

答案 1 :(得分:1)

使用:

document.getElementById('nroErros');

您可能需要考虑ASP.NET名称修改,在这种情况下您可以执行以下操作:

document.getElementById('<%= nroErros.ClientID %>');

答案 2 :(得分:1)

我建议您使用document.getElementById('nroErros').value

答案 3 :(得分:1)

它对我有用:http://jsfiddle.net/6GJsy/

我认为这是最常见的跨浏览器解决方案(如果您将elements[elementName]替换为elements[elementNumber])。

但是,作为替代方案,您可以使用:

document.formname.elementname.value; // simplest IMO
document.forms[formnumber].elements[elementnumber].value; // most cross-browser solution
document.forms[formname].elements[elementname].value;
document.getElementById(elementId).value;
document.getElementByName(elementName).value; // not supported in some browsers