form submit

makgab képe

Üdv!

Van egy form és rajta mezők (disabled=true és disabled=false típusúak).
Van egy submit button is:

...
  $form['fields']['msg'] = array(
   '#type' => 'textarea',
   ...
  );
...
  $form['fields']['send_button'] = array(
  '#type'   => 'submit',
  '#value'  => t('Send'),
  '#submit' => array('send_msg_button'),
  );
...
 
 
function send_msg_button($form, &$form_state) {
  $form_state['rebuild'] = TRUE;
  var_dump( $form_state['values'] );
}

A var_dump() csak ennyit ad vissza:

array (size=2)
  'send_button' => string 'Küldés' (length=8)
  'op' => string 'Küldés' (length=8)

A mezők értékét szeretném felhasználni a fv-ben (pl. 'msg').
Mit rontok el? Az 'msg' mező értéke miért nem jelenik meg a 'values' tömbben?

Drupal verzió: 
makgab képe

A form-ban sem jelenik meg a 'values' tömb:

...
function mymodule_myform($form, &$form_state, $param1) {
...
  $form['fields']['msg'] = array(
   '#type' => 'textarea',
   ...
  );
...
  $form['fields']['send_button'] = array(
  '#type'   => 'submit',
  '#value'  => t('Send'),
  '#submit' => array('send_msg_button'),
  );
  var_dump( $form_state['values'] );  // itt is csak két eleme van a 'values' tömbnek
...
} // end of function
 
 
 
function send_msg_button($form, &$form_state) {
  $form_state['rebuild'] = TRUE;
}
...

Mit ronthatok el?
Valahogy meg kellene adnom a send_msg_button() fv-nek, hogy melyik formot építse újra?

0
0
makgab képe

Talán egy kicsit el akartam bonyolítani...?

function mymodule_myform_submit($form, &$form_state) {
  // adatok feldolgozása...
}

:)

0
0
pp képe

Mit vársz pontosan?

$form_state['rebuild'] = TRUE;

a form_state egy tömb, nem egy objektum. Nem történik vele semmi az értékadáskor, tehát a fv-eden belül nem fog semmi plusz dolog történni vele.

A teljes kódot lehetne látni, és az elvárt működést? E kettő nélkül nehéz megmondani, hogy mi és hol nem működik úgy, ahogy szeretnéd.

pp

0
0
makgab képe

A rebuild "újraépíti" a formot változókkal együtt. Esetemben nem szükséges.
A _submit() megoldás jól működik. Köszönöm!

0
0