Ich habe ein Webformular mit der Formular-API erstellt. Ich verwende die #AJAX
Feldoption, um jedem Feld eine AJAX-Validierung hinzuzufügen.
Ist es möglich, das Formular mit AJAX zu validieren und zu senden, ohne die Seite neu zu laden? Wenn die Validierung fehlschlägt, möchte ich eine Fehlermeldung anzeigen. Wenn die Validierung erfolgreich ist, möchte ich eine Meldung anzeigen (idealerweise in einem Leuchtkasten) und die Formularfelder zurücksetzen.
Mein Code bisher:
$form['name'] = array(
'#type' => 'textfield',
'#title' => t('Name'),
'#default_value' => '',
'#maxlength' => '128',
'#required' => TRUE,
'#ajax' => array(
'callback' => '_validate_name',
'wrapper' => 'name-error-icon-container',
'method' => 'html',
'effect' => 'none',
'progress' => array(
'message' => NULL,
),
),
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => 'Submit',
'#ajax' => array(
'callback' => '_handle_form_submit',
'effect' => 'fade',
),
);
Rückruffunktionen sehen folgendermaßen aus:
function _validate_name($form, $form_state) {
if ($form_state['values']['name'] != '') {
$output = 'OK';
}
else {
$output = 'Enter a value';
}
return $output;
}
function _handle_form_submit($form, $form_state) {
}
Ich bin mir jedoch nicht sicher, was in der _handle_form_submit
Funktion zum Überprüfen und anschließenden Zurückgeben einer Nachricht oder zum Senden eines Formulars und zum Zurücksetzen von Feldern enthalten sein soll.