getElementById()
を呼び出して、フォーム上の「非表示」フィールドを取得すると、null
が返されます。getElementByIdからinput type = "hidden"を取得できません
私は他のSOの質問を研究してきましたし、多くのgetElementById()
に代わりコールで「ID」の隠しフィールドの「名前」を使用していたか含む実際のHTMLの前に、トップ・オブ・ファイルでスクリプト内getElementById()
を実行し、隠しフィールドはブラウザによって処理されていました。これらのエラーの両方は、なぜgetElementById()
がnull
を返すのかを説明します。
私は間違っている可能性がありますが、私はここに私の場合だとは思わない。
これは私のフォームです:
<form name="theDeleteItemForm" id="deleteItemForm" action="deleteTheSelectedItem"
method="post"
<input type="hidden" id="theHiddenField" name="deleteThisSelectedItem" value="">
</form>
そして、ここでは(私はハンドラであるため、私のalert()
ボックスを伝えることができるページ上の「削除」ボタンがクリックされたときにが正常に実行されているJavscriptハンドラです以下の機能)がポップアップされています
function deleteItem()
{
alert("Just entered deleteItem()");
var theFieldToDelete = document.getElementById('theHiddenField');
// THIS IS THE PLACE WHERE I FOUND THAT 'theFieldToDelete' WAS 'null'
alert("Just got the hidden field element, which is: " + theFieldToDelete);
// THIS DOES NOTHING MORE THAN TO PREVENT THE 'alert' THAT FOLLOWS FROM APPEARING
theFieldToDelete.value = "upForDeletion";
alert("deleteItem() was called, about to submit the form");
document.theDeleteItemForm.submit();
}
私はgetElementById()
からnull
リターンを得るなぜ私は理解していませんよ。私は、 getElementById()
が、type="hidden"
フィールドの場合、FINEという印象を受けています。
さらに、私の隠しフィールドに使用したID-theHiddenField
- は、私のファイルで100%ユニークです。
getElementById()
で非表示フィールドを取得しようとすると、なぜ私はnull
になるのですか?
疑いそれが原因だが、あなたの '' タグが閉じられていません。 '
HTMLを修正してください。これは正しく動作するはずです。 –
IDが一意であることを確認してください – mplungjan