[gelöst]Formular mit ahah
Eingetragen von hnv (28)
am 12.01.2010 - 17:30 Uhr in
am 12.01.2010 - 17:30 Uhr in
Hallo,
bei meinem Selbstlernkurs komme ich jetzt zum Thema Ahah-Formular. Mit Ahah-Funktion kann ich ein neues Element in das Formular hinzufügen.
Nun habe ich zwei Probleme, wobei ich um eure Hilfe bitte.
1- Neues Datumfelder hinzufügen: ich will ein neues Datumfelder mit Type date_select hinzufügen. Geht’s das? Wenn ja, wie?
etwa so funktioniert nicht:
// funcktion mymodul_js
// blabla ....
$neufeld = array(
'#type' => 'date_select',
'#title' => 'Geburtstag',
'#date_format' => 'd-m-Y',
'#date_year_range' => '-90:0',
'#id' => 'edit-geburtstag',
'#name' => 'geburtstag',
);
$output = drupal_render($neufeld);
print drupal_to_js(array('status' => TRUE, 'data' => $output));
2- Value eines Textfeld ermitteln
// in mymodul_form
$form['daten'] = array('#type' => 'feldset', '#title' => 'Ihre Daten');
$form['daten']['name'] = array('#type' => 'textfield', '#titel' => 'Name');
$form['begruessung'] = array('#type' => 'markup', '#prefix' => '<div id="begruessen">', '#suffix' => '</div>');
$form['submit'] = array(
'#type' => 'submit',
'#title' => 'Begrüssen lassen',
'#ahah' => array(
'event' => 'click',
'path' => 'begruessen_js/',
'wrapper' => 'begruessen',
'method' => 'before',
'effect' => 'slide',
)
);
Angenommen man hat den Name in den Feldname eingegeben und klickt auf Button "Begrüssen lassen". Der Name wird dann auf dem Formular angezeigt.
function begruessen_aha(){
$form_state = array('submited' => FALSE);
$form_built_id = $_POST['form_build_id'];
$form = form_get_cache($form_built_id, $form_state);
$name = $form['daten']['name']['#value']; // so geht nicht, denn der Wert existiert in den Cache noch nicht.
// Wie kann ich den Wert von Name hier hinkriegen?
$begruessen = array(
'#type' => 'markup',
'#value' => 'Guten Tag '.$name,
);
$output = drupal_render($begruessen);
print drupal_to_js(array('status' => TRUE, 'data' => $output));
}
Grüße
hnv
- Anmelden oder Registrieren um Kommentare zu schreiben
Nochmal lesen
am 12.01.2010 - 23:38 Uhr
Hi,
ich will nicht unhöflich erscheinen, aber ließ dir das lieber alles nochmal durch. Das läuft so überhaupt nicht, wie du es versuchst und ist auch potenziell unsicher.
http://drupal.org/coding-standards
http://api.drupal.org/api/group/form_api/6
http://drupal.org/contributors-guide
http://drupal.org/node/348475
---
Viele Grüße,
Kars-T
| comm-press
Danke Kars-T für deine
am 13.01.2010 - 11:37 Uhr
Danke Kars-T für deine Antwort. Ich bin dabei zu lesen.
Grüße
hnv
[EDIT]:
Ich habe eine Idee, und zwar Kombination von Ahah und HttpRequest. Es hört blöd an, werde ich aber mal probieren.
Grüße
hnv
[EDIT]:
Es ist gar nicht so kompliziert. Alles kann man per $_POST auslesen.
Grüße
hnv