Ich habe ein Textfeldelement, auf dessen Wert ich mit document.getElementById("id-name").value
zugreifen möchte. Ich finde, dass der Aufruf eine leere anstelle einer leeren Zeichenfolge zurückgibt. Der Datentyp des zurückgegebenen Werts ist immer noch eine Zeichenfolge. Ist null ein Zeichenfolgenwert?
<input type="text" value="" id="mytext">
ist das Textfeld, dessen Wert ich mit var mytextvalue = document.getElementById("mytext").value;
Die Veröffentlichung Ihres HTML könnte ein wenig helfen. Stattdessen können Sie das Element zuerst abrufen und dann prüfen, ob es null ist oder nicht, und dann nach seinem Wert fragen, anstatt direkt nach dem Wert zu fragen, ohne zu wissen, ob das Element im HTML sichtbar ist oder nicht.
%Vor%Bitte überprüfe diese Geige und lass es mich wissen, wenn du eine Warnung von Nullwert erhältst. Ich habe Ihren Code dort kopiert und ein paar Warnungen hinzugefügt. Genau wie andere sehe ich auch keine Null zurück, ich bekomme eine leere Zeichenfolge. Welchen Browser benutzen Sie?
Diese Demo wird in Chrome 14, FF3 und FF5 (mit Firebug) korrekt für mich zurückgegeben:
%Vor% und Ändern der console.log
in alert
, bekomme ich immer noch die gewünschte Ausgabe in IE6.
Für Ihren Code
%Vor% mytextvalue
enthält null
, wenn Sie vor diesem Code eine document.write()
-Anweisung haben. Entfernen Sie also die document.write
-Anweisung und Sie sollten ein richtiges Textobjekt in der Variable mytextvalue
bekommen.
Dies wird verursacht, indem document.write
das Dokument ändert.
Sie haben anscheinend das Wertattribut in HTML-Markup weggelassen.
Fügen Sie es dort als <input value="" ... >
hinzu.
Ich denke, die Textbox, auf die Sie zugreifen möchten, ist zum Zeitpunkt der JavaScript-Ausführung noch nicht auf der Seite geladen.
ie. Damit das Javascript das Textfeld aus dem DOM der Seite lesen kann, muss das Textfeld als Element verfügbar sein. Wenn das JavaScript aufgerufen wird, bevor das Textfeld auf die Seite geschrieben wird, wird das Textfeld nicht angezeigt und daher wird NULL zurückgegeben.
Tags und Links javascript string dom null