Berndinio: document objekt

Beitrag lesen

erstmal danke an alle mit ihren schnellen und hilfreichen antworten ^^
also:
1. ja , global oder nicht global hat was damit zu tun ob "var" benutzt wird oder nicht ;)

2.

Ich habe auch sonst noch ein paar Anmerkungen zu deinem Code, die deine eigentliche Frage nicht direkt betreffen:

Du gibst keinen Doctype an. Das führt früher oder später zu unerwartetem Verhalten.

Das ist mir klar ^^ ... Bei solch einem Quellcode bisher vermutlich irrelevant , zumal es zu "Testzwecken" war. Bin auf einem technischen Gymnasium - Informationstechnikzweig ... soll kein anpöbeln sein, auch wenn es sich vielleicht so liest, wollte es nur erwähnt haben^^

Du hast deine Skripte zu beginn des body-Elements. Das ist suboptimal, da der weitere Aufbau der Seite blockiert wird bis diese Skripte geladen wurden.
Das heißt das Formular und auch alles andere was nach den script-Elementen kommt wird erst angezeigt nachdem das/die Skript(e) geladen wurden.
Deshalb: Skripte ganz zum Schluss einbinden.

auch das ist mir klar :)

Außerdem verwendest du bei einem Element das language-Attribut. Dieses Attribut ist absolut unsinnig und AFAIK sogar falsch(?).

wäre mir persönlich jetzt nicht bewusst, dass es falsch wäre...(Lehrbuch)

Dafür hast du kein type-Attribut, falls du kein HTML5 schreibst ist dieses aber Pflicht.

ok, html5 hab ich mich noch nicht so damit beschäftigt.. danke für den tipp

  • Eventhandler nicht per onsubmit-Attribut zuweisen sondern über .bind (bzw. .on bei 1.7.1)
  • Zugriff auf Elemente nicht über das document-Element (document.wowrealmstatusform.servername.value) sondern über $. In diesem Beispiel $('input[name=servername]').

$(function(){ // Zur Kapselung des Codes, und warten bis das DOM fertig ist

var server = $('input[name=servername]');// keine globale Variable (wäre böse!), Referenz auf das Objekt wird zwischengespeichert da es im Eventhandler ggf. öfter benötigt wird
  $('form[name=wowrealmstatusform]').bind('submit', // Zugriff wieder über jQuery-Methoden, zuweisen des submit-Handlers genauso
    function(e){// Das hier ist die Funktion die onsubmit aufgerufen werden soll, hier jetzt anonym

e.preventDefault(); // als Argument bekommt diese das event-Objekt. Da du das Formular nicht absenden möchtest, was die Default-Aktion wäre, sagen wir hier "verhindere das" (Das ist das äquivalent zu "return false;" wenn der Handler über das Element-Attribut zugeweisen wurde)
      $.getJSON("http://eu.battle.net/api/wow/realm/status?jsonp=?", // Dein AJAX-Request
        function(realm){ // Dein Callback
          alert(server.val()); // server ist die Variable von weiter oben, hier holen wir den Wert (wieder über eine jQuery-Methode, ist ja auch ein jQuery-Objekt)
      });
  });
});


>   
> Fertig.  
>   
>   
> Würde mich freuen zu Erfahren ob mein Post für dich hilfreich war.  
>   
> ~dave  
  
puh, erstmal schlucken ^^ ... ich bin offen und ehrlich, wir sind noch nicht so weit in der Schule, aber meistens bin ich eh weiter vorraus ... ich werde mich mal noch genauer irgendwo über eventhandler und co informieren und das dann morgen nochmal durchlesen ;)  
  
[code lang=javascript] ==>verstanden  
jquery hab ich die genommen, weil ich nur diese gefunden habe bzw. nicht näher geschaut habe... werd nochmal nachschauen ^^  
  
  
Fazit, hilfreich war deine antwort auf alle fälle... hat mir auch noch gezeigt wo ich mich noch genauer informieren könnte :)  
ich meld mich nochmal so im laufe der tage  
danke an euch alle :)