kostenloser Webspace werbefrei: lima-city


jQuery POST Variablen erkennen und nutzen ?

lima-cityForumDie eigene HomepageHTML, CSS & Javascript

  1. Autor dieses Themas

    tengames

    tengames hat kostenlosen Webspace.

    Hallo

    ich lade mit jQuery load() ein Formular in ein DIV
    das klappt ja schon mal 1A

    Hauptseite:
    <script type="text/javascript">
    $(document).ready(function() { 
      $('#rechner').load('formular1.php'); 
    }); 
    </script>
    
    <div id="rechner"></div>



    Bei Absenden des Formulars soll zusätzlich zum Formular eine Ausgabe erfolgen

    formular1.php

    <form name="form1" method="post" action="">
     <br /> Zahl1:   <input type="text" name="zahl1" size="10">
     <br /> Zahl1:   <input type="text" name="zahl2" size="10">
     <br /> OK ....  <input type="submit" name="go" value="berechnen">
    </form>
    <br />
    
    <?php
    if ( !$empty($REQUEST['zahl1']) AND !$empty($REQUEST['zahl2']) )  { 
    // ---- Ausgabe der Berechnung z.B. ($zahl1 + $zahl2) ... egal 
    }
    else { 
    echo "<br /> Bitte Werte eingeben. \r\n"; 
    }
    ?>
    
    <br />


    wie bekomme ich die _POST Variablen "ausgelesen" sobald das Formular abgeschickt wurde?
    Wenn ich mein Formular direkt aufrufe, klappt es
    aber bei Aufruf über jQuery load() sind keine $_REQUEST da, keine Ausgabe der Berechnung

    ich dachte mir, einfach die Variablen bei jQuery Load als GET übergeben

    <script type="text/javascript">
    $(document).ready(function() { 
      $('#rechner').load('formular1.php?zahl1='+zahl1+'&zahl2='+zahl2+''); 
    }); 
    </script>
    
    <div id="rechner"></div>


    aber dann wird nichtmal mehr das Formular angezeigt, also garnix geladen mit load()

    Wie kann ich ein Formular, das per jQuery load() eingebunden ist auch ausführen

    so dass beim Ansenden des Formulars die Ausgabe auch angezeigt wird
    (so dass im formular1.php die Bedingung mit !empty($_REQUEST zutrifft ?!

    help! ... Danke!
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Ich kenn mich damit jetzt direkt auch nicht genau aus. Aber ich meine das hier direkt ein paar Fehler drinnen sind.

    Die Funktion heißt doch empty() und nicht $empty(), mal abgesehen davon solltest du direkt isset() benutzen.
    Die Variable heißt $_REQUEST und nicht $REQUEST.

    <?php
    if ( isset($_REQUEST["zahl1"]) AND isset($_REQUEST["zahl2"]) )  { 
      $zahl1 = $_REQUEST["zahl1"];
      $zahl2 = $_REQUEST["zahl2"];
      echo $zahl1 + $zahl2;
    }
    else { 
    echo "<br /> Bitte Werte eingeben. \r\n"; 
    }
    ?>


    Probiers mal aus und sag bescheid was bei raus kommt.
    Ansonsten benutze Firebug, das ist ein FireFox Addon bei dem du genau nachsehen kannst was zum Server geht und was vom Server kommt.
  4. t*****b



    Wieso lädst du das Formular neu? Die Struktur vom Formular brauchst du ja nur ein mal, als Rückgabe brauchst du ja nur die fehlenden Felder zu markieren statt das ganze Formular neu anzuzeigen. Zum "sammeln" der Daten eines Formulares, schau dir mal serialize() an.

    Dein Fehler liegt daran, den jQuery-Code im formular1.php zu laden, da wird natürlich kein .ready() aufgerufen, da du nicht die komplette Seite nochmal neu aufrufst. Außerdem würde ich das in den Header auslagern und überhaupt kein jQuery nachladen.
  5. Autor dieses Themas

    tengames

    tengames hat kostenlosen Webspace.

    Hallo

    sorry, bei !$empty hab ich mich im BSP vertippt, schon klar das es ohne $ ist :)
    auch bei $_REQUEST war es ein Tippfehler, war wohl nicht ganz bei der Sache :O

    also zurück zum eigentlichen Problem:

    meine Berechnung ist in PHP, daher das Neu-Laden von formular1.php mit Parameter-Übergabe

    Danke für Hinweis serialize()

    wenn ich das einfüge

    <script type="text/javascript">
    var str = ''; 
    $('form').submit(function() {
    var str = $('form').serialize();
    return false;
    });
    $(document).ready(function() { 
    $('#rechner').load('meinpfad/inc-formular1.php?'+str); 
    });
    </script>
    
    <div id="rechner"></div>


    könnte es ja funktionieren, tut es aber nicht
    wahrscheinlich weil das Formular garnicht im Quellcode steht, dondern im #rechner DIV per load()

    gibt es eine Möglichkeit auf das Formular zuzugreifen, das per load() im DIV steht?
    oder wie ??? muss ich das Formular in der Datei, die den jQuery enthält, direkt einbauen
    ?






    Beitrag zuletzt geändert: 10.9.2011 12:02:02 von tengames
  6. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!