2011-08-11 12 views
0

私はasp.netアプリケーションを開発しており、少なくとも3つの主要なブラウザ(Internet Explorer、Firefox、Chrome)と互換性を持たせたいと考えています。javascriptを介してフォーム要素にアクセスする - 正しい方法は何ですか?

一部のページでは、javascriptを使用してフォーム要素にアクセスする必要があります。 これを行うすべてのブラウザで正しく動作するようにする正しい方法は何ですか?

私は、例えば私の「nroErros」隠しフィールドにアクセスするには、この

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

のようなものをやっていると、これはIEで動作していても、Firefoxで正しく動作するようには思えません。

それで、質問は、それが常に機能する正しい方法は何ですか?

+0

- 便利なサイト –

答えて

1

それは私のために働く:http://jsfiddle.net/6GJsy/

これは、ブラウザのソリューション(elements[elementName]elements[elementNumber]に置き換えた場合)。

しかし、代替案として、あなたは使用することができます:http://www.quirksmode.org/js/dom0.html#link9 <

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 
3

確かに彼らにIDを与え、document.getElementByIdまたはjQuery $セレクタを使用することです。

1

用途:

document.getElementById('nroErros'); 

あなたは、その場合には、あなたはどうしたら、ASP.NETの名前の符号化を説明するために必要がある場合があります。

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

は、私はあなたが使用することをお勧めdocument.getElementById('nroErros').value

関連する問題