Christian: Neues Fenster über ein Formular? (submit Button)

Hallo,

ich habe folgendes Problem. ich würde gern die "action" in einem Formular in einem neuen Fenster laden. Ist das überhaupt möglich?

Hier mein Versuch, allerdings funktioniert das so nicht.

<form method='post' action="#" onClick="window.open('bewerben.php','tuts','width=400, scrollbars=yes, height=300'); return false";>

Er öffnet bei jedem Klick ins Formular, also auch in Eingabefelder ein neues Fenster und übergibt auch keine Werte auf die neue Seite.

Hat vielleicht jemand eine Idee?

Danke schon mal im Vorraus!

  1. hallo Christian,

    <form method='post' action="#" onClick="window.open('bewerben.php','tuts','width=400, scrollbars=yes, height=300'); return false";>
    Er öffnet bei jedem Klick ins Formular, also auch in Eingabefelder ein neues Fenster und übergibt auch keine Werte auf die neue Seite.

    Wenn du dir dein Formular genau anschaust, tut "er" damit genau das, was du vorgeschrieben hast.
    1. - unter "action" wird nur die Seite selbst erneut aufgerufen
    2. - onclick ist ein EventHandler, der innerhalb des Elements, in dem er notiert wurde, Gültgkeit hat.

    Hat vielleicht jemand eine Idee?

    Viele - kommt aber darauf an, wofür du meine Ideen nutzen möchtest. In Verbindung mit deiner Anfrage:
    1. - starte mit "action" irgendein Script
    2. - nimm einen anderen EventHandler, ich würde dir onsubmit empfehlen.

    Grüße aus Berlin

    Christoph S.

    --
    Visitenkarte
    http://www.christoph-schnauss.de
    ss:| zu:) ls:& fo:) va:) sh:| rl:|
  2. Hallo Christian,

    ich würde gern die "action" in einem Formular in einem neuen Fenster laden.

    hmm, wollen deine Besucher das auch?

    Ist das überhaupt möglich?

    Im Prinzip ja - außer in den strict-Varianten von HTML/XHTML.

    <form method='post' action="#" onClick="window.open('bewerben.php','tuts','width=400, scrollbars=yes, height=300'); return false";>

    Auweia. ;-)

    Er öffnet bei jedem Klick ins Formular, also auch in Eingabefelder ein neues Fenster und übergibt auch keine Werte auf die neue Seite.

    Klar - hast du ja auch so vorgegeben: Bei einem Klick in das Formular soll per Javascript ein neues Fenster geöffnet werden.
    Abgesehen davon, dass du wahrscheinlich nicht onclick, sondern onsubmit verwenden wolltest - vergiss das Javascript-Gedöns. Das target-Attribut entfaltet sein Wirkung auch bei <form>. Außer -wie schon erwähnt- in den strict-Varianten, in denen das automatische Öffnen neuer Fenster unerwünscht, das target-Attribut somit nicht mehr erlaubt ist.

    [...] im Vorraus!

    oops, was bitte?
    Schönen Abend noch,

    Martin

    --
    Was du heute kannst besorgen,
    das geht sicher auch noch morgen.
  3. hi,

    ich würde gern die "action" in einem Formular in einem neuen Fenster laden. Ist das überhaupt möglich?

    Ja.

    Hier mein Versuch, allerdings funktioniert das so nicht.

    <form method='post' action="#" onClick="window.open('bewerben.php','tuts','width=400, scrollbars=yes, height=300'); return false";>

    Er öffnet bei jedem Klick ins Formular, also auch in Eingabefelder ein neues Fenster und übergibt auch keine Werte auf die neue Seite.

    Natürlich, so hast's du's ja auch programmiert.

    • nutze onSubmit im <form>
    • öffne damit ein Popup
    • gebe im target-Attributs des Formular den beim Popup gewählten Fensternamen an

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Hallo,

      • nutze onSubmit im <form>
      • öffne damit ein Popup

      warum das? Wenn ich schon target verwenden will (darf), kann ich auch gleich target="_blank" notieren.

      So long,

      Martin

      --
      Frauen sind wie Elektrizität: Fasst man sie an, kriegt man eine gewischt.
      1. Tag Martin.

        • nutze onSubmit im <form>
        • öffne damit ein Popup
          warum das? Wenn ich schon target verwenden will (darf), kann ich auch gleich target="_blank" notieren.

        Damit könntest du aber keinerlei Einfluss auf die Gestaltung des neuen Fensters nehmen.

        Siechfred

  4. Hallo Christian,

    ich habe folgendes Problem. ich würde gern die "action" in einem Formular in einem neuen Fenster laden. Ist das überhaupt möglich?

    wie Du ein Zielfenster für die Serverantwort angeben kannst, steht in SELFHTML, Formulare. Du könntest mit den Namen von Zielfenstern für Verweise experimentieren, ob einer der vordefinierten Namen Dir das gewünschte Verhalten liefert.

    Bitte beachte die Hinweise zur Verwendung von Zielfenstern und dem Öffnen von neuen Fenstern im Allgemeinen.

    Freundliche Grüße

    Vinzenz

  5. Danke für die schnellen Antworten, aber irgendwie will es mir immernoch nicht gelingen :(

    Hab von diesem Java-Zeug keine Ahnung und weiß nicht ob die Attribute die ich da mitgebe überhaupt richtig sind. So schauts jetzt aus.

    <form method='post' target='bewerben' action="bewerben.php" onsubmit="window.open('bewerben.php','bewerben','width=530, scrollbars=yes, height=600'); return false;">

    er öffnet mir auch mein Fenster, allerdings hab ich keine Werte.

    1. hallo,

      er öffnet mir auch mein Fenster, allerdings hab ich keine Werte.

      Was macht denn "bewerben.php" mit den übergebenen Daten?

      Grüße aus Berlin

      Christoph S.

      --
      Visitenkarte
      http://www.christoph-schnauss.de
      ss:| zu:) ls:& fo:) va:) sh:| rl:|
      1. nichts! also, ich kann die Textfelder halt nicht ausgeben!

        hallo,

        er öffnet mir auch mein Fenster, allerdings hab ich keine Werte.

        Was macht denn "bewerben.php" mit den übergebenen Daten?

        Grüße aus Berlin

        Christoph S.

        1. Hallo Christian,

          ist also das hier noch dein aktueller Stand:

          <form method='post' target='bewerben' action="bewerben.php" onsubmit="window.open('bewerben.php','bewerben','width=530, scrollbars=yes, height=600'); return false;">

          und es passiert...

          nichts! also, ich kann die Textfelder halt nicht ausgeben!

          Das ist korrekt. Also "nichts" ist untertrieben - dein window.open öffnet immerhin schon mal ein Fenster und lädt darin das PHP-Script, ohne ihm allerdings die Daten zu übergeben. Denn der eigentliche Formularversand wird ja mit dem 'return (false)' im Eventhandler abgewürgt. Lass das mal weg. In einem Eventhandler false zurückzugeben, stoppt nämlich die weitere Bearbeitung des Events.
          Und dann könntest du auch noch die URL 'bewerben.php' in window.open() weglassen. Übergib stattdessen nur einen Leerstring, dann wird das Script nicht schon ohne seine Parameter geladen.

          Und bitte kein TOFU. Danke.
          So long,

          Martin

          --
          Wenn zwei dasselbe tun, sind sie vielleicht bald zu dritt.
        2. hallo Christian,

          nichts! also, ich kann die Textfelder halt nicht ausgeben!

          Woraus schließt du, daß dein Script tatsächlich "nichts" tut? Meldet es wenigsten einen Fehler, wenn du es unmittelbar über seine URL aufrufst - wobei ja sowieso keine "Eingaben" übermittelt werden?

          Auf deine stillose Art, das Vorgängerposting einfach untendranzukleben, hat dich Martin ja bereits aufmerksam gemacht. Zitiere künftig bitte nur die Zeilen, auf die du direkt eingehen möchtest.

          Grüße aus Berlin

          Christoph S.

          --
          Visitenkarte
          http://www.christoph-schnauss.de
          ss:| zu:) ls:& fo:) va:) sh:| rl:|