2

名前とIDを持つ入力フォームがあります。

を使用して入力の値を取得しようとするとdocument.getElementById、エラーが発生します。

フォーム名と入力名を使用して要素にアクセスできますが、スクリプトの柔軟性が大幅に低下します。

回避策はありますか?

ここに私が持っているコードがあります:

<form name='myform'>
   <input name='n1' id='i1' value='stuff'>
</form>

<script>
   var s=document.getElementById("i1").value;
   alert(s);
</script>

外部の .js ファイルにスクリプトがあり、誰かがフォームの名前を変更した場合でもスクリプトが機能することを確認したいと考えています。

4

2 に答える 2

5

あなたのコードは問題なく動作します。この例を見てください

DOM の準備ができたら、必ずスクリプトを呼び出してください。また、同じ を持つ他の要素がないことを確認してidください。

于 2012-12-14T00:23:26.153 に答える
0

サポートされているかどうかを確認する

function getElement (id)
{
   if (document.getElementById)
   {
      return document.getElementById(id);
   }
   else if (document.all)
   {
      return window.document.all[id];
   }
   else if (document.layers)
   {
      return window.document.layers[id];
   }
}
于 2012-12-14T00:26:24.060 に答える