Daniel Hammerthal: Richtige übergabe von Variablen über Funktion

Huhu.
Nunja, kann daran liegen, dass ich einfach seit gestern wach bin, oder ich noch nicht fortgeschritten genug bin in JS, aber ich kriege bei meiner Homepage etwas nicht gebacken. Es handelt sich um folgendes:

Ich möchte ein JS schreiben, dass mir ein Div-Feld 'visible' und 'hidden' schaltet, den Text des Feldes bestimmt und die ID.

Das ganze hatte ich mir wie folgt vorgestellt:

  
<script language="JavaScript">  
<!--  
var Tid, Text, visi;  
function Tool(Tid, Text, visi) {  
document.getElementById(Tid).style.visibility = visi;  
document.getElementById(Tid).innerHTML = Text;  
}  
//-->  
</script>  

Aufruf:

  
<div id="hi" style="visibility:hidden;">aaa</div><br><a href="#" onclick="Tool('hi, muha, visible');">aaaaa</a>  

Da ich aus Erfahrung weiß, dass ihr gerne Hilfe gebt, aber keinen kompletten Quellcodes, bzw. immer auf Links verweist etc., wollte ich bitten, mir wenigsten den Lösungsweg zu nennen, und nicht einfach auf nen Link der Objektreferenz verweisen. =x

Ps: Hab ich einfach die '' falsch gesetzt (bzw. garnicht gesetzt) oder liegt es an einem anderen, mir unbekannten Fehler?

Danke für jede Hilfe, lG Daniel

  1. Hi,

    wie wärs mit Tool('hi', 'muha', 'visible');?

    Grüße - Frank

    1. Oh Mann, wie wäre ich blos ohne die schnelle Hilfe von euch auf Grundeis gestoßen.^^
      Darauf bin ich wieder nicht gekommen, obwohl ich das noch irgendwo gelesen hatte.
      Ich danke dir (:

  2. Hi,

    <script language="JavaScript">

    language gilt als veraltet. Verwende stattdessen das Pflicht-Attribut [link:http://de.selfhtml.org/html/transit/scripts.htm#definieren@title=type].

    <!--
    var Tid, Text, visi;

    Diese 3 globalen Variablen sind überflüssig, da beim Aufruf deiner Funktion eh 3 Variablen mit den selben namen angelegt werden.

    function Tool(Tid, Text, visi) {
    document.getElementById(Tid).style.visibility = visi;
    document.getElementById(Tid).innerHTML = Text;
    }
    //-->
    </script>

    
    >   
    > Aufruf:  
    > ~~~html
      
    
    > <div id="hi" style="visibility:hidden;">aaa</div><br><a href="#" onclick="Tool('hi', 'muha', 'visible'); return false;">aaaaa</a>  
    
    Hier würde ich noch ein "return false" ergänzen, das sorgt dafür, dass dem Linkziel (hier: #) nicht gefolgt wird.  
    
    > 
    
    

    Ps: Hab ich einfach die '' falsch gesetzt (bzw. garnicht gesetzt)

    Ja, Frank hat dir ja schon gezeigt wie du es machen musst. Vorher hast du nur einen String mit dem Wert "hi, muha, visible" übergeben, deine Funktion erwartet aber 3 Parameter.

    Kennst du die Fehlerkonsole vom Firefox? Sie hätte dich wohl auch auf deine Fehler hingewiesen.

    mfG,
    steckl

    1. Hallo,

      <div id="hi" style="visibility:hidden;">aaa</div><br><a href="#" onclick="Tool('hi', 'muha', 'visible'); return false;">aaaaa</a>
      Hier würde ich noch ein "return false" ergänzen, das sorgt dafür, dass dem Linkziel (hier: #) nicht gefolgt wird.

      nein, da würde ich kein return ergänzen, um eine Standardfunktion zu unterdrücken, sondern ein komplett anderes Element wählen. Bei aktivem JS wirkt der Link mit false als Rückgabewert sowieso nicht mehr als Link; bei deaktiviertem JS ist es ein Link, dessen Ziel nur "#" ist - und der ist in den meisten Fällen sinnlos, wenn man nicht gerade auf den Dokumentanfang verweisen möchte.

      So long,
       Martin

      --
      Butterkeksverteiler zu werden ist vermutlich eine der wenigen beruflichen Perspektiven, die sich noch bieten, wenn man einen an der Waffel hat.
        (wahsaga)