Anzeige:
Ergebnis 1 bis 8 von 8

Thema: Mit JavaScript PHP aufrufen ohne Fenster ???

  1. #1
    Registrierter Benutzer
    Registriert seit
    08.12.2002
    Ort
    Maria Thann
    Beiträge
    176

    Cool Mit JavaScript PHP aufrufen ohne Fenster ???

    Wir haben ein Formular, welches nach der Eingabe überprüft werden soll.
    Zur Prüfung wird über JavaScript eine PHP-Datei aufgerufen (MySQL-Abfragen usw). Dieses erstellt als Ergebnis "bis jetzt" eine weitere HTML-Seite mit JavaScript, welches dann ausgeführt wird und die entsprechenden Variablen im "aufrufenden" Fenster setzt.
    D.h. ich habe kurzfristig 2 Fenster. Das eigentliche Eingabefenster sowie das Fenster mit dem "Ergebnis-JavaScript".

    Meine Frage, wie kann ich über JavaScript ich eine PHP-Datei aufrufen, welche als Ergebnis natürlich wieder JavaScript erzeugt, aber ohne dass kurz ein zusätzliches Fenster notwendig ist.

    Ich hoffe ihr versteht was ich meine.

    Torsten.E

  2. #2
    Registrierter Benutzer
    Registriert seit
    26.08.2003
    Beiträge
    7
    Ja, es gibt eine möglichkeit und zwar kannst Du per Javascript ein Bild vom server in eine variable laden (dafür gibt es eine Funktion, ich weiß gerade nicht welche, aber der google weiß es sicher). Du gibst ihm anstatt eines bildes einfach das php-skript, welches Du laden willst.

  3. #3
    Registrierter Benutzer
    Registriert seit
    26.08.2003
    Beiträge
    7
    ich glaube es geht mit
    img = new Image;
    img.src = 'yourscript.php';

    bin mir aber nicht ganz sicher

  4. #4
    Registrierter Benutzer
    Registriert seit
    08.12.2002
    Ort
    Maria Thann
    Beiträge
    176

    Image laden geht nicht so richtig

    Das mit dem Image stimmt schon, von der Syntax her,
    aber irgendwie funzt es ned, hier nochmal das Problem

    Beispiel:

    In einer Variable PLZ wird in einem Formular ein entsprechender
    Eintrag gemacht. Nachdem das Feld verlassen wird, soll über ein
    JavaScript ein PHP-Programm aufgerufen werden. Dieses sucht in
    einer MySQL-Datenbank nach der PLZ, ermittelt den Ort. Danach
    soll der Ort in eine Formularvarable, welche natürlich sichtbar ist
    übertragen werden.

    Code:
    echo "window.open('phpfile.php?PLZ='+document.formular.plz.value,'Fenstername');";
    Bisher mach ich das, indem ich über JavaScript ein neues Fenster
    aufmache, dort die PHP-Datei aufrufe. Das PHP-File ermittelt das Ergebnis
    und zeigt als Rückgabe wieder JavaScript an.

    Code:
      echo '<script language=JavaScript>';
      echo 'opener.document.plz.ort.value="GesuchterOrt";';
      echo 'opener.document.plz.ort.focus();';
      echo 'self.close();';
      echo '</script>';
    Jetzt blinkt eben das Fenster kurz auf, was ich aber eigentlich vermeiden
    wollte.

    Torsten.E

  5. #5
    Registrierter Benutzer Avatar von sixfriends
    Registriert seit
    26.03.2003
    Ort
    /home/sixfriends
    Beiträge
    285
    Wenn sowieso ein neues Fenster geladen wird, kannst du eigentlich auch gleich das PHP- Script im selben Fenster aufrufen lassen und vom PHPScript statt der JS Seite die vorherige Seite erstellen lassen, nur diesmal mit den entsprechenden Eingaben (value="blabla").

    Erspart dir auch einiges an JS, damit wird es auch wieder Browserunabhängiger.

    sixfriends
    .
    Wenn die Sonne der Kultur niedrig steht, werfen selbst Zwerge einen Schatten.

  6. #6
    Registrierter Benutzer
    Registriert seit
    08.12.2002
    Ort
    Maria Thann
    Beiträge
    176

    Neues Fenster ist aber nicht gewünscht

    Nein, denn "onBlur" wird auf Feld-Ebene verwendet. D.h. bei einer Eingabemaske mit ca. 25 Eingabefeldern würde immer wieder die Seite neu aufgebaut. Das soll aber so nicht sein.

    Beispiel:
    Wird die PLZ 12345 in einem Feld eingegeben, soll nur in einer MySQL-Datenbank der entsprechende Ort gesucht werden und dann das Feld ORT mit dem Ortsnamen gefüllt werden. Dazu will ich aber nicht immer wieder die Seite komplett neu aufbauen. Oder soll eine Meldung erscheinen. PLZ ungültig, was ja eine ALERT-Meldung sein kann.

  7. #7
    Registrierter Benutzer Avatar von sixfriends
    Registriert seit
    26.03.2003
    Ort
    /home/sixfriends
    Beiträge
    285
    In dem Fall ist es auch möglich, einen frame bzw. iframe mit der Höhe und/oder Breite 0 zu definieren. Das fällt dann im Normalfall keinem auf. Hab das früher mal so gemacht, um nen Sound auf ein Onmouseover event zu legen, hat dann bei onmouseover immer wieder den unsichtbaren Frame neugeladen

    sixfriends
    .
    Wenn die Sonne der Kultur niedrig steht, werfen selbst Zwerge einen Schatten.

  8. #8
    Registrierter Benutzer
    Registriert seit
    08.12.2002
    Ort
    Maria Thann
    Beiträge
    176

    iframe war auch mein Gedanke

    An einen Frame hatte ich auch gedacht, bzw. iframe.

    Ich wollte nur wissen, ob es vielleicht noch eine "bessere"
    Möglichkeit gibt.
    Aber damit ist es machbar, stimmt

    :-)

    Torsten

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •