Kurztipp: Aufpassen bei Ajax-Forms

3. Mrz 2008

Den heutigen Kurztipp spendiert der CakePHP Ajax Helper:
Ein Formular mittels Ajax zu verschicken funktioniert meist via:

  1. <?php echo $ajax->form(‘FORMNAME’, ‘post’,array(‘url’=>‘FUNKTION’,‘update’=>‘DIV’)); ?>

Dies ruft FUNKTION auf und bringt den dazu passenden View in DIV unter. Aufpassen müsst ihr aber, dass ihr nicht zuviel Ajax benutzt, denn ein abschließendes

  1. <?php echo $ajax->submit(‘Abschicken’);?>

hilft nicht nur NICHT, sondern führt dazu, dass ein Druck auf die Enter Taste oder das Klicken des vermeintlich sinnvollen Submitbuttons eine ANDERE Ajax Funktion aufruft, nämlich die des Ajax Submit Buttons. Dies führt dann dazu, dass anstatt FUNKTION die aktuelle Seite ohne Werte per Ajax vom Server geschickt wird.
Am besten nutzt ihr hier den Formhelper wie ihn cakebaker beschreibt, dass spart sogar noch eine Codezeile.

Kategorie: Allgemein, CakePHP | 2 Kommentare »


Veröffentlicht am Montag, den 3. März 2008 um 12:32 Uhr veröffentlicht

Du kannst einen Kommentar schreiben, oder einen Trackback auf deiner Seite einrichten.

2 Reaktionen zu “Kurztipp: Aufpassen bei Ajax-Forms”

 

  1. Chris Am 3. März 2008 um 15:54 Uhr

    Hi,
    ja das ist mir auch schon aufgefallen. Ich habe ein weiteres Problem, allerdings mit den Formular-helpern ansich:
    Nutze ich die Formular helper von Cake, bastelt mir Cake an meine “Formular-Action” kein abschließendes “Slash” an:
    action=”/machwas”

    Da ich aber mittels Htaccess versuche Duplicate Content zu vermeiden und daher bei fehlendem Ende-Slash auf die URL mit abschließendem Slash weiterleite, gehen mir mit dem Standard-generierten formular natürlich die Formularwerte bei der Weiterleitung verloren, wenn ich das Ajax-Formular bei deaktiviertem Javascript verwenden möchte (ich hoffe man kann mir bislang folgen).

    Ich weiß nicht, ob man den Helper von Cake so manipulieren kann, dass er die action mit abschließendem Slash generiert, bislang kopiere ich mir den generierten Formular-Kopf und füge ihn modifiziert in das Template ein (nicht schön, aber konnte bislang keine andere Möglichkeit finden).

  2. Billigflüge Am 26. April 2009 um 22:45 Uhr

    Hallo Chris,
    da fällt mir leider auch nichts anderes zu ein. ich suche auch noch einen echten ajax freak …

Einen Kommentar schreiben

Du mußt angemeldet sein, um kommentieren zu können.