JS Fehler: Eigenschaft/Methode nicht unterstützt

PhoenixDH

Erfahrenes Mitglied
Hallo zusammmen,

ich bekomme beim Ausführen eines Scriptes immer folgende Meldung:
Das Objekt unterstützt diese Eigenschaft oder Methode nicht.

Hier mal das Script:
PHP:
<script language="JavaScript" type="text/javascript"> 
<!-- 
function search_highlighting() 
{ 
search_highlighting_word = document.getElementById("h_l_s").value;
document.h_l_form.action="viewtopic.php?t={TOPIC_ID}&highlight="+search_highlighting_word+""
document.getElementById("h_l_form").submit();
} 
//--> 
</script>

Es geht um diese Zeile:
PHP:
document.getElementById("h_l_form").submit();

Und hier noch das Formular dazu:
PHP:
<form method="post" style="display:inline" id="h_l_form" name="h_l_form" action="" onsubmit="search_highlighting()">
  <input class="liteoption" type="text" id="h_l_s" name="h_l_s" value="Thema durchsuchen" size="20" maxlength="150" onclick="this.value = ''; return false;">&nbsp;
  <input type="submit" name="submit" value="{L_GO}" alt="" class="liteoption" onclick="search_highlighting()">
</form>

Woran liegt das? Danke!
 
kleine Anmerkung noch zu deinem Skript:
dies:
Code:
search_highlighting_word = document.getElementById("h_l_s").value;

diese Daten solltest du nicht ohne weiteres mit in die URL schreiben. Zumindest ein escape() wäre gut, besser noch eine eigene Funktion, die identisch zu deinem SEO-Mod das Suchwort gleich in das erforderte Format umsetzt.
 
Ja, die URL wird irgendwann neu generiert, serverseitig....aber soweit muss es erstmal kommen.

Je nach Eingabe in dies Feld kann es durchaus sein, dass der User irgendwo ganz anders landet, als er eigentlich wollte...zumindest wenn du diesen String nicht wenigstens per escape() für eine URL tauglich machst.
 
Wie müsste das dann aussehen?
Einfach nur so:
search_highlighting_word = escape(document.getElementById("h_l_s").value);
 
Wie müsste das dann aussehen?
Einfach nur so:
search_highlighting_word = escape(document.getElementById("h_l_s").value);

jo...das wäre das mindeste.

Besser als escape() wäre noch encodeURIComponent() das ist in der Browserkompatibilität aber weniger umfangreich, falls du auch auf sehr alte Browser Rücksicht nehmen willst(bspw. IE5.0)
 
Zurück