Daniel: Formular & frame (frameset sprengung)

Ahoi alle,

ja ich weiß frames sind böse, ich will sie ja nicht verwenden aber ich muss.

so jetzt zum problem, ich habe ein frameset. in einem frame ist ein
formular. wird auf senden geklickt werden die eingaben geprüft. sind die
eingaben fehlerhaft wird das formular mit den eingegebenen daten
gefüllt und eine (oder mehrere) Fehlermeldung(en) ausgegeben. sind die
eingaben korekt soll das framset gesprengt werden und ein anderes
geladen werden.

AFAIK kann mit header() das frameset nicht geprengt werden. dies geht
nur mit JS oder evt. einem "normalen" link. JS scheidet aus, und das
mit dem Link wäre nur als notlösung zu gebrauchen, sollte nach
möglichkeit automatisch gehen. ein form target="_top" scheidet wegen
evt. fehlerhafter eingabe aus.

kann mir vll. jmd weiterhelfen?

MfG

--
Alle Angaben wie immer ohne Gewähr
PPPS: ich trinke gerne ab und an mal eine tote Tante.
  1. Ahoi nochmal,

    hab mich jetzt dazu entschlossen JS zu verwenden. allerings sprengt es
    mir das ganzte frameset, und nichtnur das frameset im frameset. sprich
    ich habe in einem frame eines framesets ein zweites frameset, nur dieses
    zweite frameset soll gesprengt werden. sowie bei nicht aktiviertem JS
    ein link verhanden sein. das mit dem link funktioniert. also ich habe:

    seite1.html:
    <frameset>
      <frame name="kopf" src="kopf.html">
      <frameset>
        <frame name="navigation" src="navigation.php">
        <frame name="anzeige" src="seite2.html">
      </frameset>
    </frameset>

    seite2.html
    <frameset>
      <frame name="menue" src="./menue.html">
      <frame name="ansicht" src="./ansicht.html">
    </frameset>

    und das seite2 frameset soll gesprengt werden. da dieses sich selbst
    im eigenen frame ansicht wieder aufruft.

    hoffe das problem ist klar.

    MfG

    --
    Alle Angaben wie immer ohne Gewähr
    PPPS: ich trinke gerne ab und an mal eine tote Tante.
    1. Hi,

      allerings sprengt es
      mir das ganzte frameset, und nichtnur das frameset im frameset.

      parent.location.href bzw. parent.location.replace()

      Gruß, Cybaer

      --
      Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
      1. Ahoi Cybaer,

        parent.location.href bzw. parent.location.replace()

        ^^^^
        damit hab ichs hinbekommen. es funktioniert soweit auch wie es soll, hab
        auch nen noscript teil der nen link setzt zum Frame sprengen.

        Allerdings bekomme ich in die konsole 3mal diese JS fehlermeldung:
        Fehler: dialog has no properties
        Woran könnte dies liegen?

        <script type="text/javascript">
        if (parent != self)
          parent.location.href = "seite2.php?ok=1";
        </script>
        <noscript>
          <link rel="stylesheet" type="text/css" href="main.css">
          </head>
          <body>
            <a href="ikm_kontakte.php?csv=1" target="_parent">CSV-Datei mit Kontaktdaten</a>
          </body>
        </html>
        </noscript>

        bekomme die meldung sowohl bei deaktiviertem als auch aktiviertem JS.

        MfG

        --
        Alle Angaben wie immer ohne Gewähr
        PPPS: ich trinke gerne ab und an mal eine tote Tante.
        1. Hi,

          Allerdings bekomme ich in die konsole 3mal diese JS fehlermeldung:
          Fehler: dialog has no properties
          Woran könnte dies liegen?

          K.A. =:-)

          BTW:

          <noscript>
            <link rel="stylesheet" type="text/css" href="main.css">
            </head>
            <body>
              <a href="ikm_kontakte.php?csv=1" target="_parent">CSV-Datei mit Kontaktdaten</a>
            </body>
          </html>
          </noscript>

          Das ist aus mehreren Gründen kein gültiges HTML (selbst wenn man nicht der Meinung ist, das W3C wäre der oberste Tora-Bewahrer ;-)). U.a. weil die Tags HEAD und NOSCRIPT verschachtelt sind.

          Und BTW2: Warum überhaupt ein Link, wo doch PHP (und damit Page-Redirection) zur Verfügung steht?

          Gruß, Cybaer

          --
          Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
          1. Ahoi Cybaer,

            Und BTW2: Warum überhaupt ein Link, wo doch PHP (und damit Page-Redirection) zur Verfügung steht?

            weil man mit php keine frames sprengen kann!?

            wie muss ich den noscript teil denn dann einfügen? allgemein nach dem
            <head> oder das ganze <script><noscript> in den body? dachte immer das
            muss in den kopf.

            MfG

            --
            Alle Angaben wie immer ohne Gewähr
            PPPS: ich trinke gerne ab und an mal eine tote Tante.
            1. Hi,

              Und BTW2: Warum überhaupt ein Link, wo doch PHP (und damit Page-Redirection) zur Verfügung steht?
              weil man mit php keine frames sprengen kann!?

              Das ist ggf. vorher schon mit TARGET gesprengt. Mittels PHP kannst Du dich dann aber entscheiden, ob die neue Seite solo kommt oder wieder ein Frameset ist.

              wie muss ich den noscript teil denn dann einfügen? allgemein nach dem
              <head> oder das ganze <script><noscript> in den body? dachte immer das
              muss in den kopf.

              NOSCRIPT ist im HEAD nicht erlaubt - funktioniert aber bislang trotzdem.

              Also SCRIPT in den HEAD, NOSCRIPT in den BODY.

              Gruß, Cybaer

              --
              Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
              1. Ahoi Cybaer,

                Das ist ggf. vorher schon mit TARGET gesprengt. Mittels PHP kannst Du dich dann aber entscheiden, ob die neue Seite solo kommt oder wieder ein Frameset ist.

                wenn die eingabe aber nicht korekt ist fällt das mit der fehlermeldung
                schwer, die muss dann über 2 seiten weitergegeben werden. oder die
                eingabe muss über 2 seiten weitergegeben werden und aufgrund der
                vielen daten und überhaupt und sowieso ist das mit dem link die beste
                lösung. In meinen augen zumindest. du kannst dies, da ich die ganze
                größe des projekts hier nicht ausgebreitet habe, wahrscheinlich aber
                nicht so ganz nachvollziehen. So wie es jetzt ists ist es OK, vielen
                dank für deine hilfe, werd das mit dem noscript noch korrigieren und
                dann ists komplet, dann heißt es für mich Feierabend.

                MfG

                --
                Alle Angaben wie immer ohne Gewähr
                PPPS: ich trinke gerne ab und an mal eine tote Tante.
          2. Ahoi Cybaer,

            Allerdings bekomme ich in die konsole 3mal diese JS fehlermeldung:
            Fehler: dialog has no properties
            Woran könnte dies liegen?

            K.A. =:-)

            hab den fehler gefunden, da ich, nach dem Framesprengen eine CSV datei
            automatisch zum DL anbiete per:
            <meta http-equiv="refresh" content="0 url=daten.csv">

            die fehlermeldung taucht nur auf wenn man dort auf abbrechen klickt,
            dann aber 3mal.

            gibt es eine andere möglichkeit dies zu automatisieren? evt sogar ohne JS?

            MfG

            --
            Alle Angaben wie immer ohne Gewähr
            PPPS: ich trinke gerne ab und an mal eine tote Tante.
            1. Hi,

              gibt es eine andere möglichkeit dies zu automatisieren? evt sogar ohne JS?

              Download/Anzeige per PHP.

              Davon abgesehen: Vielleicht wäre es sinnvoller, eine Seite zwischenzuschalten, die dem User die Wahl läßt?

              Gruß, Cybaer

              --
              Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
              1. Ahoi Cybaer,

                Download/Anzeige per PHP.

                ich soll nach Download/Anzeige im manual suchen? oder wie? find da nix vernüftiges

                Davon abgesehen: Vielleicht wäre es sinnvoller, eine Seite zwischenzuschalten, die dem User die Wahl läßt?

                sinnvoller in meinen augen auch, vorallem liese es sich einfacher
                umsetzten. aber die vorgabe lautet automatisch. deshalb leite ich nach
                erfolgreicher eingabe und speicherung des Formulars mit einer get
                variable weiter. diese bewirkt bei der entsprechenden seite die
                ausgabe des script und noscript teiles. JS bzw der link aus dem
                noscript teil sprengen dann das frameset um eins auf damit es so
                aussieht wie es soll außerdem übergeben sie eine 2te get variable
                diese "verursacht" die ausgabe des meta-tags welcher das DL "startet",
                also den DL dialog halt (öffnen/speichern/abbrechen) Da hat der User
                ja die Wahl, aber dies soll eben automatisch kommen, das problem die
                datei ist eigentlich ein php-script, welches sich als CSV ausgiebt und
                auch solchen Code zurück giebt. sprich die datei ist nicht statisch.

                MfG

                --
                Alle Angaben wie immer ohne Gewähr
                PPPS: ich trinke gerne ab und an mal eine tote Tante.
                1. Hi,

                  Download/Anzeige per PHP.
                  ich soll nach Download/Anzeige im manual suchen?

                  Nein, ein PHP-Script schreiben, das die CSV-Daten als Download schickt oder im Browser anzeigt (wo der Surfer es dann sehen und ggf. per "Datei sichern" abspeichern kann) - wie Du möchtest.

                  Download mittels PHP: s. z.B. Thread weiter unten ("Probleme mit Download-Script")
                  Anzeige: Content-Header "text/plain"

                  das problem die
                  datei ist eigentlich ein php-script, welches sich als CSV ausgiebt und auch solchen Code zurück giebt. sprich die datei ist nicht statisch.

                  Das ist kein "Problem", das ist die "halbe Miete"! :-)

                  Gruß, Cybaer

                  --
                  Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
                  1. Ahoi Cybaer,

                    Das ist kein "Problem", das ist die "halbe Miete"! :-)

                    das problem ist das man auf dieses script auch anderweitig zugreifen
                    kann um einen CSV-Export zu machen, ich habe kein problem mit dem DL
                    script das funktioniert alles einwandfrei. das problem ist das wenn beim
                    per meta gestarteten DL-dialog der user auf abbrechen klickt 3mal diese
                    Fehlermeldung in der JS-Konsole auftaucht, und ich weis nicht warum :(

                    Öffnet oder speichert der user die datei kommt die fehlermeldung nicht

                    MfG

                    --
                    Alle Angaben wie immer ohne Gewähr
                    PPPS: ich trinke gerne ab und an mal eine tote Tante.
                    1. Hi,

                      das problem ist das man auf dieses script auch anderweitig zugreifen
                      kann um einen CSV-Export zu machen,

                      Und? Dieses zu unterbinden bedarf es *prinzipiell* der Verwendung anderer Techniken, wie z.B. Sessions.

                      Fehlermeldung in der JS-Konsole auftaucht, und ich weis nicht warum :(

                      Und sollte ein PHP-Downloadscript diesen Fehler nicht bringen, braucht es dich auch nicht mehr zu interessieren. 8-)

                      Ergo: Mach was Du willst, aber nöl nicht rum! ;)

                      Gruß, Cybaer

                      --
                      Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
                      1. Ahoi Cybaer,

                        Und? Dieses zu unterbinden bedarf es *prinzipiell* der Verwendung anderer Techniken, wie z.B. Sessions.

                        glaub du hast das falsch verstanden. Das script kann nur auf 2 arten aufgerufen werden.

                        1. automatisch nach speicherung der Formular eingaben
                        2. Selbstständig über einen link

                        Über Session wird der SQL filter gesetzt.

                        Und sollte ein PHP-Downloadscript diesen Fehler nicht bringen, braucht es dich auch nicht mehr zu interessieren. 8-)
                        Ergo: Mach was Du willst, aber nöl nicht rum! ;)

                        das ist doch in PHP, und da ist auch kein JS. das einzigste stück JS
                        ist die frameset sprengung. ich versteh nicht warum in der JS-Konole
                        ein fehler auftaucht obwohl gar kein JS code auf der seite ist.

                        das hier:
                        Fehler: dialog has no properties
                        taucht 3mal in des JS konsole auf. (vom FF) aber nur wenn man auf
                        abbrechen klickt, aber da ist niergendwo JS-code. das ist ja das was
                        mich verwirrt. gibts im IE eigentlich auch ein JS-Konsole? und wie
                        rufe ich diese auf?

                        MfG

                        --
                        Alle Angaben wie immer ohne Gewähr
                        PPPS: ich trinke gerne ab und an mal eine tote Tante.
                        1. Hi,

                          das ist doch in PHP,

                          Das mit META REFRESH,oder warst Du schon weiter?

                          ein fehler auftaucht obwohl gar kein JS code auf der seite ist.

                          Mozilla arbeitet intern auch mit JS. Ggf. ist es ein Chrome-Fehler.

                          mich verwirrt. gibts im IE eigentlich auch ein JS-Konsole?

                          Nein.

                          Gruß, Cybaer

                          --
                          Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
                          1. Ahoi Cybaer,

                            das ist doch in PHP,
                            Das mit META REFRESH,oder warst Du schon weiter?

                            per meta refresh rufe ich das script auf
                            dieses script erstellt anhand der per Session übergebenen filtereinstellungen aus den DB daten eine CSV-Datei in sich selbst. also anstatt eines
                            echo "<html>"
                            ein einfaches
                            echo "spalte1;spalte2;spalte3;\n";
                            per header änder ich dann den content typ:
                            header("Content-Type: text/comma-separated-values");
                            header("Content-Disposition: attachment; filename="kontakte.csv"");

                            da kann ich ja dann schlecht noch ein header("Location: einbauen, oder?

                            ein fehler auftaucht obwohl gar kein JS code auf der seite ist.
                            Mozilla arbeitet intern auch mit JS. Ggf. ist es ein Chrome-Fehler.

                            gibts nicht ne seite wo man nachschauen kann was die fehlermeldungen
                            in der JS-Konsole des FF bedeuten?

                            mich verwirrt. gibts im IE eigentlich auch ein JS-Konsole?
                            Nein.

                            schade, da hätt ich ja sonst jetzt überprüfen können obs am FF liegt.

                            MfG

                            --
                            Alle Angaben wie immer ohne Gewähr
                            PPPS: ich trinke gerne ab und an mal eine tote Tante.
                            1. Hi,

                              echo "spalte1;spalte2;spalte3;\n";
                              per header änder ich dann den content typ:

                              "Dann"? Du meinst "vorher"?!

                              header("Content-Type: text/comma-separated-values");
                              header("Content-Disposition: attachment; filename="kontakte.csv"");

                              Wobei es hier vom Browser abhängt, was er damit macht. Ist also kein "echtes" Downloadscript sondern eher ein "mach was du willst"-Script. ;-)

                              da kann ich ja dann schlecht noch ein header("Location: einbauen, oder?

                              Das wäre als sichere Alternative zum META REFRESH vorzuziehen.

                              Aber darum geht es ja schon garnicht mehr ...

                              gibts nicht ne seite wo man nachschauen kann was die fehlermeldungen
                              in der JS-Konsole des FF bedeuten?

                              K.A. - ich habe so selten welche. ;)

                              schade, da hätt ich ja sonst jetzt überprüfen können obs am FF liegt.

                              Liegt bestimmt an ihm - nur: was nützt dieses Wissen/diese Vermutung? =;-)

                              Der IE zeigt seine JS-Fehler ja ggf. auch an. Aber das itja hier nicht das Thema ...

                              Gruß, Cybaer

                              --
                              Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
                              1. Ahoi Cybaer,

                                "Dann"? Du meinst "vorher"?!

                                ja türlich.

                                header("Content-Type: text/comma-separated-values");
                                header("Content-Disposition: attachment; filename="kontakte.csv"");

                                Wobei es hier vom Browser abhängt, was er damit macht. Ist also kein "echtes" Downloadscript sondern eher ein "mach was du willst"-Script. ;-)

                                also bei mir kommt sowohl im IE als auch im FF die frage:
                                öffnen/speichern/abbrechen?

                                Das wäre als sichere Alternative zum META REFRESH vorzuziehen.

                                zum starten des DL ok, allerdings funktioniert dann das mit dem
                                frameset nichtmehr schließlich kann ich von der CSV keine
                                weiterleitung auf frameset tätigen

                                Liegt bestimmt an ihm - nur: was nützt dieses Wissen/diese Vermutung? =;-)

                                ich weis das es nicht an mir liegt und ich bin glücklich und ignorier es einfach.

                                MfG

                                --
                                Alle Angaben wie immer ohne Gewähr
                                PPPS: ich trinke gerne ab und an mal eine tote Tante.
                                1. Hi,

                                  also bei mir kommt sowohl im IE als auch im FF die frage:

                                  Fein. Nur gut, daß alle User ihre Browser so eingestellt haben wie Du. Da gibt es auch kein abweichendes Verhalten. ;)

                                  Na ja, wir waren ja ohnehin beide der Meinung, daß dem User mehr Wahlfreiheit zugestanden werden sollte, als es dein Chef vorgesehen hat ... :-)

                                  Gruß, Cybaer

                                  --
                                  Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
                        2. Hi,

                          das hier:
                          Fehler: dialog has no properties

                          Gib doch bitte mal die komplette Fehlermeldung an (Rechtsklick auf die Meldung, Copy)
                          bzw. betrachte die angegebene Script-Url.

                          Fängt die mit chrome: an? Dann ist das was browser-internes.

                          Wenn es aber eine von Deinen URLs ist, klick doch mal drauf - dann kommt ein Quelltextfenster, in dem die fehlerhafte Stelle markiert ist.

                          cu,
                          Andreas

                          --
                          Warum nennt sich Andreas hier MudGuard?
                          Schreinerei Waechter
                          Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
                          1. Ahoi MudGuard,

                            Gib doch bitte mal die komplette Fehlermeldung an (Rechtsklick auf die Meldung, Copy)

                            *gnarf* das entsprich wohl einfach anklicken und strg+c, oder? das hab
                            ich gemacht. da steht nicht mehr. das einzigste was da noch dabei ist
                            ist ein rotes achteck mit einem weisen i darin

                            ___
                            /   \ | i |  Fehler: dialog has no properties
                            \___/

                            und das ganze 3mal. wenn da mehr stehen würde, würd ich vll auch
                            selber drauf kommen. aber da steht nicht mehr und nicht weniger.

                            Das sollte also deine fragen beantworten, da steht weder ein verweis
                            auf eine meiner seiten noch chrome: gibts vll irgendein plugin oder so
                            welches da bei der fehlerfindung helfen könnte? es ist keines
                            installiert, nur stnd FF version keine ahnung, habs nicht selber
                            installiert, weis nur das keine erweiterung mitinstalliert, bzw.
                            zusätzlich installiert wurde.

                            MfG

                            --
                            Alle Angaben wie immer ohne Gewähr
                            PPPS: ich trinke gerne ab und an mal eine tote Tante.
  2. Hi,

    AFAIK kann mit header() das frameset nicht geprengt werden. dies geht
    nur mit JS oder evt. einem "normalen" link.

    "Sprengen" kannst Du mit einer TARGET-Angabe im FORM. Ansonsten halt nur mit JS. Aber wenn JS vorhanden ist, kannst Du ja auch vorab mit JS die Korrektheit der Eingaben überprüfen und erst dann (mittels TARGET) "sprengen", wenn sie falsch waren. 8-)

    Wären nur noch die, die JS ohnehin nicht haben *und* das Formular nicht korrekt ausfüllen konnten. >;->

    Gruß, Cybaer

    --
    Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
    1. Ahoi Cybaer,

      Wären nur noch die, die JS ohnehin nicht haben *und* das Formular nicht korrekt ausfüllen konnten. >;->

      die sind kein problem da das mit php geprüft wird.

      MfG

      --
      Alle Angaben wie immer ohne Gewähr
      PPPS: ich trinke gerne ab und an mal eine tote Tante.
      1. Hi,

        Wären nur noch die, die JS ohnehin nicht haben *und* das Formular nicht korrekt ausfüllen konnten. >;->
        die sind kein problem da das mit php geprüft wird.

        Schon klar. Aber die bekämen dann ein bereits freigesprengtes Formular zwecks Neueingabe. Aber da könnte man ggf. auch was basteln (z.B. PHP-Überprüfung und dann ggf. weiterleiten auf ein Frameset mir dem Eingabeformular).

        Gruß, Cybaer

        --
        Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!