SESSION-Variable soll bei Änderung input-Feld ändern

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • SESSION-Variable soll bei Änderung input-Feld ändern

    Hallo zusammen,

    ich habe mal wieder ein kleines Problem mit php und js.

    Folgende Ausgangssituation:
    Ich rufe per js ein Fenster auf. In diesem Fenster wird mit php und Datenbankdaten ein Preis ermittelt. Beim Klicken auf speichern, wird dieser ermittelte Wert in eine Session-Variable geschrieben. Das Fenster wird dann von Hand mit dem X oben rechts geschlossen.

    Nun zum Problem.
    Wie kriege ich es hin, das sobald speichern geklickt wurde der ermittelte Wert im aufrufenden Formular im entsprechenden input-Feld erscheint ???

    Bis jetzt erscheint der Wert nur, wenn ich die aufrufende Seite aktualisiere. Dazu habe ich dem Feld als value den Wert der Session-Variable gegeben. Ich habe es schon mit onchange() versucht , aber das funktioniert nicht.


    Hat jemand eine Idee wie ich das anstelle ?
    Gruß

    Michael

  • #2
    Ich mag mich ja irren, aber was ist an dem Problem so anders als bei diesem hier ??
    gruss Chris

    [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

    Kommentar


    • #3
      Das Andere daran ist, dass ich den Wert in der Session stehen habe und den Wert aus dem popup im aufrufenden Fenster angezeigt haben will und zwar ohne die Seite neu zu laden. Das wird nämlich bei dem anderen Problem gemacht.

      Also dieser Wert muss rüber in das aufrufende Fenster. Ist schon passiert, das der Wert in der Session abgegriffen werden kann.
      Nun das Problem, wie kriege ich js dazu diesen Wert zu nehmen und anzuzeigen (ohne die Seite neu zu laden).
      Gruß

      Michael

      Kommentar


      • #4
        Dann versteh mal das hier.

        test.html
        Code:
        <input type="text" name="fooo" id="foo" value="">
        
        <a href="#" onclick='window.open("popup.html","popup", "width=100,height=100")'>bar</a>
        popup.html
        Code:
        <a href="#" onclick="opener.document.getElementById('foo').value='bar'">close</a>
        gruss Chris

        [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

        Kommentar


        • #5
          Was soll mir das bei meinem Problem weiterhelfen ???
          Gruß

          Michael

          Kommentar


          • #6
            Wie kriege ich es hin, das sobald speichern geklickt wurde der ermittelte Wert im aufrufenden Formular im entsprechenden input-Feld erscheint ???
            gruss Chris

            [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

            Kommentar


            • #7
              Mein Gott, ich wil kein Rätselraten veranstalten, ich bräuchte konkrete Hilfe.
              Gruß

              Michael

              Kommentar


              • #8
                Wer spielt denn hier Rätselraten?

                Du ermittelst in einem Fenster einen wert, und gibst den einfach mittels

                opener.document.getElementById('ID_DEINES_INPUTFELDS').value='wert'

                wieder zurück. Was hat das mit Rätseln zu tun.
                gruss Chris

                [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

                Kommentar


                • #9
                  Das ich noch nicht weiss, wie ich die frisch erstellte Session-Variable zum Zeitpunkt der Erstellung im Aufruferformular angezeigt bekomme.
                  Gruß

                  Michael

                  Kommentar


                  • #10
                    Wozu möchtest du das denn?

                    Die Sessionvar wird im Fenster gefüllt, also hast du auch einen Wert den du beim drücken auf Speichern zurück geben kannst.
                    gruss Chris

                    [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

                    Kommentar


                    • #11
                      In dem Moment, wenn ich auf Speichern klicke, wird Serverseitig die Session-Variable geschrieben. Somit steht sie auch dem aufrufenden Fenster (Serverseitig) zur Verfügung.
                      Dann muss die Variable noch von der Serverseite auf die Clientseite, da sie ja von js weiterverwendet werden soll. Richtig ?!?!
                      Da geht's schon los, wie tun ?

                      Ausserdem muss ich meinem input-Feld, in das der Wert eingetragen werden soll, noch mitteilen, dass es bei einem event ein js-Skript abarbeiten soll, in dem drinsteht, das der an js übergebene Wert als sein value zu übernehmen ist. Richtig ?!?!
                      Das zweite Problem, wie tun ?


                      Irgendwie steh ich wie der besagte Ochs vorm Berg, ich blicks gerade nicht.
                      Gruß

                      Michael

                      Kommentar


                      • #12
                        Hab es hinbekommen. Hatte Zeit zu googeln und hab mir da, entsprechend meiner Theorie, die einzelnen Vorgehensweisen gesucht. Heraus kam das, und das funktioniert auch:

                        PHP-Code:
                        <script language="javascript">

                        window.onload = function() {
                        document.forms[0].onsubmit = function() {
                        // Berechnungen machen

                            
                        var glas document.getElementById("glas_preis").value;
                            var 
                        oberflaeche document.getElementById("oberflaeche_preis").value;
                            var 
                        toenung document.getElementById("toenung_preis").value;
                            var 
                        prismen document.getElementById("prismen_preis").value;
                            var 
                        zusaetze document.getElementById("zusaetze_preis").value;
                            var 
                        gesamt = (parseFloat(glas.replace(/,/g".")) + parseFloat(oberflaeche.replace(/,/g".")) + 
                        parseFloat(toenung.replace(/,/g".")) + parseFloat(prismen.replace(/,/g".")) + parseFloat(zusaetze.replace(/,/g".")));
                            
                        ges_preis document.getElementById("gesamt_preis");
                            
                        // gesamt.value.replace(/./g, ",");
                            
                        ges_preis.value parseFloat(gesamt);
                        // Zurückschreiben ins Browser fenster
                        opener.document.forms[0].preis_re.value document.forms[0].gesamt_preis.value;

                        // Jetzt wird das Formular versandt
                        return true;
                        }

                        }

                        </
                        script
                        Einstweilen vielen Dank für Hilfe und Geduld mit mir !
                        Gruß

                        Michael

                        Kommentar

                        Lädt...
                        X