Как переопределить значения по умолчанию формы при отправке события - PullRequest
0 голосов
/ 27 декабря 2010

У меня есть форма, в которой есть текстовые поля с заданными значениями по умолчанию.При отправке события я хочу, чтобы эти значения по умолчанию были изменены с новым набором значений, которые я передаю.Я использую form_set_value ($ element, $ value, $ form_state) для этого.Однако это не обновление.Есть идеи?Мой код

 function sample_myform($form_state){

$form['field']['name'] = array(
'#type' => 'textfield',
'#title'=> 'Name: ',
'#maxlength'=> 127,
   '#default_value' => param1,
);
   $form['field']['placeholder'] = array(
  '#type'=> 'value',
  '#value' => array(),
   );
$form['field']['button1'] = array(
'#type' => 'submit',
'#value' => 'Submit',
);
return $form;
   }

  function sample_myform_validate($form,&$form_state){


$name2 = $form_state['values']['name'];
   form_set_value($form['field']['placeholder'], $name2, $form_state); */
form_set_value($form['field']['name'],'God',$form_state);
$form_state['rebuild'] = true;
 }

1 Ответ

0 голосов
/ 28 декабря 2010

Одно точно, $ form ['field'] ['placeholder'] никогда не изменится, так как вы установили #value. Как только значение #value установлено, API форм переходит. Будьте осторожны с установкой только #default_value для значения #type, поскольку это может быть подделано. Вы можете сделать что-то вроде $ form_state ['placeholder'] = $ name2; проверить и использовать это в функции построителя форм.

То, что вы пытаетесь сделать с именами, работает в Drupal 7, но я подозреваю, что вы находитесь в Drupal 6. Функция validate просто перезаписывает $ form_state ['values'], но это не сохраняется для перестройки формы. Еще раз, сохраните в $ form_state, как вам нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...