Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Formular innerhalb eines Prototip prüfen und ausführen?

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Formular innerhalb eines Prototip prüfen und ausführen?

    Hallo,

    ich beschäftige mich seit kurzen mit "Prototip" und habe eine allgemeine Frage, ob das was ich vorhabe überhaupt funktionieren kann.

    Aktuell rufe ich per Prototip ein kleines Formular (PHP-Funktion) auf und lasse dieses ausführen. Dies klappt auch super. Da dieses Formular auch eine Fehler-Validierung hat, kann es vorkommen, dass es Fehler gibt und ich diese nochmals zur Änderung anzeigen muss. Dies löse ich normalerweise über zwei getrennte PHP-Funktionen.

    Da ich das Formular jetzt jedoch in einem Prototip aufrufe, schlägt dann die Fehlervalidierung wieder auf der normalen Seite auf. Lässt sich diese auch in diesen oder einen anderen Prototip einbinden, bzw. wie bekomme ich einen zweiten Prototip aufgerufen???

    Das habe ich aktuell umgesetzt:

    PHP-Code:
    <?
    //Prototip einbinden
    echo "<script language=\"JavaScript\" type=\"text/javascript\">";
    echo "
        new Tip('NewProject', {
            title: '"._PROJECT." "._NEW.":',
            radius: 0,
            border: 1,
            style: 'default',
            hook: { target: 'bottomMiddle', tip: 'topMiddle' },
            offset: {x:0,y:100},
            width: 'auto',
            closeButton: true,
            hideOn:{element:'closeButton',event:'click'},
            ajax: {
                url: 'projects.php?op=newProject',
                options: { method: 'get'}
           }
        }
    );";
    echo "</script>";
    ?>
    Dieser Prototip ruft die Funktion "newProject" innerhalb der PHP-Datei auf. Diese enthält das Formular:

    PHP-Code:
    <?
    function NewProject(){
        // Wird im Prototip aufgerufen
        echo "<form action=\"projects.php?op=newProjectConf\" method=\"post\">";
        echo "<table class=\"tooltip\" width=\"100%\" cellpadding=\"4\" cellspacing=\"0\">";
        echo "<tr><td>"._PROJECT_NAME."</td><td><input type=text name=\"name\" size=\"80\"></td></tr>";
        echo "<tr><td>"._PROJECT_DESCRIPTION."</td><td><input type=text name=\"description\" size=\"80\"></td></tr>";
        echo "<tr><td>"._PROJECT_URL."</td><td><input type=text name=\"url\" size=\"80\"></td></tr>";
        echo "<tr><td>&nbsp;</td><td align=\"right\"><input type=submit name=button value=\""._NEW."\"></tr>";
        echo "</table></form>";
    }
    ?>
    Ich hoffe, dass mir jemand erklären kann, ob und wie das was ich vorhabe überhaupt funktionuiert. Vielen Dank im Voraus.

    Kay


  • #2
    vorab: verwende weniger "echo"'s, sowas muss nicht sein. du kannst jederzeit html-code ausgeben mit "?> ... html-code ... <?php". besser wäre, wenn du das formular in eine extra datei auslagerst um das formular bei der prüfung wiederzuverwenden.

    dann zu deinem problem: woher soll der "prototip" wissen, dass das formular wieder über ajax gesendet werden soll? das musst du ihm schon beibringen.
    gut ist das "prototype" eingebunden ist

    Code:
    $$('#prototip-element form')[0].observe("submit", function() {
        $(this).request({ 
            onSuccess: function(r) { 
                $("prototip-element").update(r.responseText); 
            } 
        }); 
    });
    (eben im antwortfeld getippt, ggf. fehler drinnen)

    "prototip-element" steht hier für den inhalt des prototips. verwende am besten firebug um ein element/einen pfad zu ermitteln.

    Kommentar


    • #3
      Danke für den Tipp. Ich denke das Prototip an sich für das was ich da machen will nicht das geeignete Tool ist und setze nun etwas anderes ein.
      Trotzdem nochmal Dnke für die Hilfe!!!

      Kommentar

      Lädt...
      X