Dies klappt in Firefox und Opera reibungslos, nur der Internet Explorer liefert immer einen leeren Wert zurück, selbst wenn der User bereits in das Feld getippt hat.
Ich habe festgestellt, dass der MSIE vielfältig dieses Phänomen aufweist, wenn der auszulesende Wert zu *irgendeinem* Zeitpunkt (auch der Initialisierung) ein reiner Whitespace- oder ein Leer-String gewesen ist.
Versuche einmal das ursprüngliche value-Attribut
a) überhaupt anzugeben(!)
b) mit einem ` ´ (oder bspw. einem Aufforderungstext) zu initialisieren
Also statt bspw.:
<input id="TextSearch" … /> oder <input id="TextSearch" value="" … />
codierst du
<input id="TextSearch" value="Bitte Suchtext eingeben …" … />
Du musst auch dafür sorgen, dass `value´ zur Laufzeit Script-seitig nicht leer gesetzt wird, denn dann passiert das Gleiche.
Ähnliches gilt meiner Auffassung nach im MSIE für *alle* (X)HTML-Elemente, auf deren Datenattribute (oder innerHTML) du mit DOM-Methoden zugreifen möchtest -- ich bin schon einmal dem Wahnsinn nahe gewesen, bevor ich dies per Zufall heraus gefunden habe … ;-)
Gruß,
Jörn