Rueckwirkend aktuallisieren

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

  • Rueckwirkend aktuallisieren

    Also, das Problem sit folgendes.

    Ich hab eine Datenbank mit vielen eingabe feldern usw.. wobei manche sachen ausgelesen und als Combobox dargestellt werden. Wenn ich was in die Combobox -waehrend der eingabe- hinzufuegen will, hab ich nen normlen link zu einer seite, wo ich dann was zur combobox hinzufuegen kann.

    Ich moechte folgendes haben:
    der link soll ab nun nurnoch ein fenster mit javaskript oeffnen (kein problem).
    dann will ich dort den db eintrag in dem neuen fenster machen, und nach dem bestaetigen wird der db eintrag dann selber gemacht.

    mein problem: ich will von diesem -mit js geoeffneten fenster- die aufrufende seite aktuallisieren, damit der neue eintrag nun auch darin steht.

    ich hoffe ich habs gut erklaert. brauche keine grossen beispiele. mir wuerde ein codebeispiel reichen fuer den befehl: "geoeffnetes-js-fenster-fuer-den-eintrag" --> "aufrufendes-fenster-welches-aus-aktuallisierung-wartet"


    waere euch echt dankbar, da man dazu nix findet. falls ich was uebersehen habe, wuerd ich auch jeden link annehmen

    danke fuer eure hilfe im voraus!

    me!
    Immer schoen den Quelltext brechen....
    Sorry: UMBRECHEN!

  • #2
    http://de.selfhtml.org/javascript/ob...ion.htm#reload

    Meines Wissens nach sollte das reload() auch mit dem window-Object deines "JS"-Fensters funktionieren.

    Musste aber ausprobieren.

    Kommentar


    • #3
      opener.location.reload();

      bzw:

      opener.location.href = opener.location.href;

      Funktionieren aber beide nur, wenn sie von der selben (Sub-)Domain stammen

      Kommentar


      • #4
        Also, dass aktualisiert doch nur die Seite.

        Ich meinte aber:


        seiteA.php ruft mittels JS seiteB.php im fenster mit bestimmter groesse auf. auf seiteB.php geb ich daten ein, drueck den "senden" button. daraushin traegt der die daten in die DB ein, und dann soll der nicht einfach die seite aktuallisieren, der soll seiteB.php schliessen und seiteA.php aktuallisieren, so dass die bisherigen eingetippten texte erhalten bleiben, NUR der ergaenzte eintrag den ich auf seiteB.php gemacht habe, soll auf seiteA.php nun aber zu meiner combobox zB dazukommen!

        understand what i mean?

        ach ja, bevor ich es vergesse: danke schonmal fuer die schnellen antworten
        Immer schoen den Quelltext brechen....
        Sorry: UMBRECHEN!

        Kommentar


        • #5
          Mit Combo-Box meinst du einen Select mit einer size="" angabe, oder ?

          Kommentar


          • #6
            PHP-Code:
            <select size="1" name="combobox_heissts_nur_in_VB">
               <
            option value="1">NAME1</option>
               <
            option value="2">NAME2</option>
            </
            select
            wenn du damit das hier meinst: JA

            und da will ich jetzt ein item hinzufuegen von seiteB.php incl. meines DB eintrags

            mal sehen ob man hier auch ohne dicke brueste gute hilfe bekommt
            hehe... ich hoffe ihr verlangt nicht meine seele als gegenleistung fuer die loesung!
            Zuletzt geändert von scasburn; 20.09.2005, 16:51.
            Immer schoen den Quelltext brechen....
            Sorry: UMBRECHEN!

            Kommentar


            • #7
              ein Weg wäre es per JavaScript die Elemente zu erweitern. Dann fehlt dir allerdings die ID des neu hinzugefügten Items.

              Was spricht dagegen das "popup" mit der Selectbox (bei dir heißts combobox ) neu zu laden?

              Kommentar


              • #8
                Stell dir vor:

                Du haste schon den Name, die Adresse, die Firma, die Seriennummer, bla, bla, bla, bla..... eingegeben und merkst dann, dass bei der "Combo-Select-Auswahl-Box" dein Item nciht drin ist. Willst du dann alles nochmal neu eingeben?
                Deshalb schricht da was gegen.
                Theoretisch koennte ich eine option als "Other" nehmen und rechts daneben ein Textfeld machen, was dann mit JS automatisch aktiviert wird. Aber das finde ich nciht so schoen und jetzt reizt es mcih auf jeden fall auch zu wissen, wie das geht :-)

                Ist doch auch nicht unnuetzlich das zu lernen. Fehlt nur der freundliche Proggi Guru :-)

                Ach, und wo ich es gerade sehe... du hast dich wohl verlesen. Das Popup kansnte sooft reloaden wie du willst. Ich will nur nicht die Seite reloaden, welche das Popup aufgerufen hat :-)
                Immer schoen den Quelltext brechen....
                Sorry: UMBRECHEN!

                Kommentar


                • #9
                  Code:
                      var Select = opener.document.getElementsByName("combobox_heissts_nur_in_VB")[0];
                      var item = document.createElement("option");
                      item.value = "Interner Absende - Wert";
                      item.text = "Neuer Sichtbarer Wert";
                      try {
                          Select.add(item, Select.length);
                      } catch (e) {
                          Select.add(item, null);
                      }

                  Du hast Glück: Da ich momentan etwas komplexeres baue, worin mitunter auch diese Mini-Funktion drin ist, kann ich ohne weiteres den Code liefern.

                  Du musst nicht genau wissen, was try - catch bewirkt: Kurz gesagt isses eine Browser-Weiche, mehr nicht.
                  Zuletzt geändert von EEBKiller; 20.09.2005, 17:42.

                  Kommentar


                  • #10
                    klasse, das sieht ja schonmal vielversprechend aus.

                    nur zum verstaendnis:

                    "opener." = die seite die das popup geoeffnet hat

                    Zeile 1 = legt eine neue "Combobox" an

                    Zeile 2 = erstellt eine option
                    Zeile 3 = value fuer item aus zeile 2
                    Zeile 4 = text fuer item aus zeile 2

                    try to add a item to the "combobox" (aber warum die laenge von select? muesste es nciht item.lenght sein ).
                    exeption blah... ohne lenght.

                    hast du ein beispiel fuer den inhalt von zeile 3 und 4?

                    ansonsten schonmal einen DICKEN dank, scheint genau das zu sein was ich brauche.

                    mfg steven
                    Immer schoen den Quelltext brechen....
                    Sorry: UMBRECHEN!

                    Kommentar


                    • #11
                      Zeile 1: Die Variable "Select" wird mit dem Objekt verlinkt (also der "Combo"-Box)

                      So gesehn ein kürzel, damit ich nicht immer "opener.document.getElementsByName("combobox_heissts_nur_in_VB")[0];"

                      schreiben muss

                      PHP-Code:
                         <option value="ABSENDEWERT">SICHTBARER WERT</option
                      Soviel zum Absende- und Sichtbaren Wert

                      der try { - Teil

                      ist für IE un Opera. "Select.length" gibt nur an, dass es ganz am Ende angehängt werden soll. Wenn du Stattdessen 0 angeben würdest, wird die Option an den Anfang gesetzt und alles andere eins nach unten verschoben.

                      Der catch { - Teil

                      ist für Netscape/Mozilla/Firefox. Die unterstützen den index nicht, deshalb nur null ( = Ende )

                      Kommentar


                      • #12
                        Jau, ich denke jetzt klappt soweit alles.
                        Das mit dem Beispiel fuer Zeile 3+4 stellt mich ja scheinbar bloss *g*
                        Meinte eigentlich nur den inhalt, nicht wie der HTML Code aussieht

                        Was heisst denn die [0] ?
                        Heisst das soviel wie, dass der ein Array mit den Elementen des Namens anlegt und du davon ausgehst, dass es nur ein Element gibt, daher die Stelle 0 nimmst?

                        Ok, eigentlich hatte ich mir Zeile 1 auch so gedacht, wie es ist mit der Referenz.

                        Naja, da ich kein Bock hab, um mein Element dann schon einzusortieren in die Combobox ist es mir eigetnlich schnuppe wo es nachher steht, werd es wohl an stelle "0" setzten. Hautpsache in der Combobox und inner DB isses.

                        JS scheint ja talentierter zu sein, als ich es am Anfang annahm :-) Fehlt nur das Benutzertalent... *g*

                        Also ich danke dir nochmals. Warst eine grosse Hilfe.

                        Wenn du mal Nachhilfe brauchst im Finden von alternativen Namen, bin ich dir gerne behilflich. :-P

                        MfG Steven
                        Immer schoen den Quelltext brechen....
                        Sorry: UMBRECHEN!

                        Kommentar


                        • #13
                          Original geschrieben von scasburn
                          Was heisst denn die [0] ?
                          document.getElementsByName("XYZ");

                          liefert dir grundsätzlich immer ein Array, da du ja mehreren HTML Elementen den selben namen geben kannst. Da das aber fast niemand macht, sondern den selben namen nur 1x vergibt, geh ich halt nun mal davon aus, das es nur ein Element, also [0] gibt.

                          Original geschrieben von scasburn
                          JS scheint ja talentierter zu sein, als ich es am Anfang annahm :-) Fehlt nur das Benutzertalent... *g*
                          Ja, ist es. http://eebkiller.homeip.net/gallery.php

                          Vollständig Clientseitig im Moment und wird später noch viel mächtiger, wenn es an den Server angebunden wird.
                          (Kann passieren, dass Zeitweise etwas nicht funzt. Ist momentan auch noch im Aufbau ... )
                          Zuletzt geändert von EEBKiller; 21.09.2005, 15:33.

                          Kommentar


                          • #14
                            ok,

                            habs mir mal angeguckt, sieht schon echt gut aus
                            Jetzt will ich garnicht erst wissen, wie lange du dran gesessen hast

                            Naja... so sehr werd ich mich noch nciht damit beschaeftigen... so ein Projekt hab ich nicht in aussicht :P

                            Viel Glueck bei deinem Projekt!
                            Immer schoen den Quelltext brechen....
                            Sorry: UMBRECHEN!

                            Kommentar


                            • #15
                              Problem beim IE

                              Hallo,

                              ich habe die Anleitung genauso befolgt und habe nur beim IE das Problem,
                              das er mir den Wert den ich im Popup-Fenster eintrage nicht in das Select-Feld eingetragen wird!
                              Beim Firefox funktioniert das problemlos.

                              Hier nochmal das Script -->
                              PHP-Code:
                              <script>
                              function 
                              tool_add(tool){

                              var 
                              Select opener.document.getElementsByName("Tool")[0];
                                  var 
                              item document.createElement("option");
                                  
                              item.text tool;

                                  try {
                                      
                              Select.add(itemSelect.length);
                                  } catch (
                              e) {
                                      
                              Select.add(itemnull);
                                  }
                              }
                              </
                              script
                              Und hier der Aufruf -->
                              PHP-Code:
                              <form action="<? echo $_SERVER['PHP_SELF'] ?>" method="POST" name="Formular" onsubmit="window.setTimeout('self.close()',10);">
                                     Tool:<input type="text" name="Name" style="width: 200px" maxlength="50" value="">
                              <input type="submit" name="add_tool" value="Tool hinzufügen" onclick="tool_add(Formular.Name.value)">
                              Wie gesagt beim IE funktioniert das nicht.

                              Vielen Dank für eure Hilfe!

                              MfG
                              [PHP]<?php
                              if Work == true then brake now, exit; else go now home, exit; end if
                              ?>[PHP]

                              Kommentar

                              Lädt...
                              X