little_budda: Null-Object im Script bei Firefox und Opera

Hallo,
ich habe das folgende Script im Head deklariert:

  
<script type="text/javascript">  
  function setItemSearch(sStrValue)  
  {  
  document.getElementById("searchLine").value = sStrValue;  
  document.getElementById("searchform").submit();  
  }  
</script>  

Im Body gibt es das zum einen das Formular

  
<form method="POST" action="lexikon.php5" id="searchform">  
  <input type="text" name="searchLine" size="20" value="">  
  <input type="submit" value="Suche" name="B1">  
</form>  

und zum Anderen zwei Links:

  
<a href="javascript:setItemSearch('Zuschuss')">Zuschuss</a><br>  
<a href="javascript:setItemSearch('Geld')">Geld</a><br>  

Wenn ich auf die Links klicke wird der Begriff in das Suchfeld eingetragen und die Form wird abgeschickt.
Klappt unter IE auch wunderbar.
Nur unter Firefox und Opera nicht.
Firefox tut gar nichts und Opera erzeugt mir eine Warnung "Cannot convert undefined or null to Object".

Ich nutze diese Scripte schon länger.
Was bitte mache ich denn falsch?

  1. Hi!

    document.getElementById("searchLine").value = sStrValue;
      document.getElementById("searchform").submit();

      
    Du versuchst via ID in Javascript auf Elemente zuzugreifen...  
      
      
      
    
    > ~~~html
      
    
    >   <input type="text" name="searchLine" size="20" value="">  
    >   <input type="submit" value="Suche" name="B1">  
    > 
    
    

    .. welche Du im HTML-Teil _nicht_ vergibst - Du vergibst nur Werte für die name-Attribute!

    Ich nutze diese Scripte schon länger.

    So?

    off:PP

    --
    "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
  2. Ich nutze diese Scripte schon länger.
    Was bitte mache ich denn falsch?

    Meine Ansicht nach ist das Konzept umständlich.
    Du hast <a> Elemente, die ohne JS Funktionslos sind.

    Du möchtest einserseits möglichst wenig Code im HTML schreiben, anderseits clickbare Bereiche, die eine Suche starten.

    Schreibe deine Begriffe in <span class="seachitem">Suchbegriff</span>
    (eine Liste wenn Listenartige Aufführung).

    Lasse dein Script onload über alle Elemente der Klasse iterieren,
    Füge ein onclick Event mit location an die gewünschte Adresse hinzu.

    Ohne Javascript werden dann diese Begriffe nicht ausführbar sein, und auch nicht wie Links aussehen.

    Besser wäre allerdings, man würde dies gleich mit einer Serverseitigen Technik ausführt.

    mfg Beat

    --
    Woran ich arbeite:
    X-Torah