luk: variblenübergabe

Hallo
ich möchte von der extern gelagerten js-funktion die globalen variablen abrufen.
im html-doc rufe ich die funktion totest()in der externen JS-file auf. Diese sollte dann die Funktion test() im HTML-Doc aufrufen. Funktionier aber nicht...
Kann mir jemand helfen

Vielen Dank
luk

html-doc
-------------
<html>
 <head>
          <script type="text/javascript" src="test.js" />
           <script type="text/javascript">
           function test(tst)
           {
           alert(tst)
           }
           </script>
 </head>
 <body>
 <h6 onclick="totest();" id="date">Datensatz von :</h6>
 </body>
</html>

externe js
------------
Total="Beschreibung"

function totest(){
test(Total)
}

  1. Hallo,

    Dein Code sieht ein bisschen unausgegoren aus:

    Jeder JavaScript-Befehl sollten mit einem Semikolon enden. Zwar wird das nicht zwingend verlangt, aber wenn man sich darauf verlässt, dass der Interpreter die Dinger selber einsetzt, kann das bei umfangreicheren Scripts leicht zu Fehlern führen, die man nur noch schwer findet.

    <script type="text/javascript" src="test.js" />

    sollte so geschrieben werden:
    <script type="text/javascript" src="test.js"></script>

    Dann klappt's auch mit dem onclick.
    Deine Scheibweise gilt für XHTML, aber du hast dem Browser nicht gesagt, dass du XHTML schickst, also hält er es für normales HTML, wobei diese Schreibweise nicht gilt.

    Gruß, Don P

    1. Hallo,

      Dein Code sieht ein bisschen unausgegoren aus:

      Jeder JavaScript-Befehl sollten mit einem Semikolon enden. Zwar wird das nicht zwingend verlangt, aber wenn man sich darauf verlässt, dass der Interpreter die Dinger selber einsetzt, kann das bei umfangreicheren Scripts leicht zu Fehlern führen, die man nur noch schwer findet.

      <script type="text/javascript" src="test.js" />
      sollte so geschrieben werden:
      <script type="text/javascript" src="test.js"></script>

      Dann klappt's auch mit dem onclick.
      Deine Scheibweise gilt für XHTML, aber du hast dem Browser nicht gesagt, dass du XHTML schickst, also hält er es für normales HTML, wobei diese Schreibweise nicht gilt.

      Gruß, Don P

      leider nein!
      klappt immer noch nicht.
      Hast du mir einen neuen vorschlag?

      Gruss,luk

      1. Hallo,

        leider nein!
        klappt immer noch nicht.

        Bei mir schon:

          
        <html>  
        <head>  
        <script type="text/javascript" src="test.js"></script>  
        <script>  
        [code lang=javascript]  
          function test()  
          {  
            alert(tst);  
          }
        

        </script>
        <body>
        <h6 onclick="totest();" id="date">Datensatz von :</h6>
        </body>
        </html>
        [/code]
        und in test.js steht:

          
        Total="Beschreibung"  
        function totest(){  
          test(Total)  
        }  
        
        

        Funktioniert prima, auch ohne die empfehlenswerten Smikolons. Natürlich musst du nach dem Laden erst in das Dokument klicken (d.h. auf die Schrift "Datensatz von:") um die alert-box zu sehen, sonst kommt dar onclick-Handler des Body-Tags ja gar nicht zum Zug.

        Hast du mir einen neuen Vorschlag?

        Leider nein.

        Gruß, Don P

  2. Hellihello,

    weils die Funktion zu dem Zeitpunkt noch nicht gibt.

    Verstausche mal die beiden Script-Elemente.

    ich möchte von der extern gelagerten js-funktion die globalen variablen abrufen.
    im html-doc rufe ich die funktion totest()in der externen JS-file auf. Diese sollte dann die Funktion test() im HTML-Doc aufrufen. Funktionier aber nicht...

    html-doc

    <html>
    <head>
              <script type="text/javascript" src="test.js" />
               <script type="text/javascript">
               function test(tst)
               {
               alert(tst)
               }
               </script>
    </head>
    <body>
    <h6 onclick="totest();" id="date">Datensatz von :</h6>
    </body>
    </html>

    externe js

    Total="Beschreibung"

    function totest(){
    test(Total)
    }

    Dank und Gruß,

    frankx

    1. Hallo,

      weils die Funktion zu dem Zeitpunkt noch nicht gibt.

      Nein, toTest() im onclick-handler wird zuerst mit test.js geladen. toTest() ruft dann test() auf, das zu dem Zeitpunkt (Klick auf die Überschrift) auch schon geladen ist. Stimmt schon alles so.

      Gruß, Don P