Есть задача автоматически выводить число, введенное в текстовое поле, в определенном месте на странице без нажатия на submit. Делаю через ajax. Перечитал все, что нашел, попробовал все примеры, но работает странно. Один раз отрабатывает, потом как поле не меняй - ничего не происходит. Код простой и ошибиться, вроде, негде. Подскажите, как сделать правильно.
Вот такой код:
$form['markup'] = array(
'#prefix' => '<div id = "form-ajax-nodes">',
'#suffix' => '</div>',
'#markup' => '',
);
$form['price'] = array(
'#type' => 'textfield',
'#title' => 'Enter text',
'#size' => 10,
'#ajax' => array(
'callback' => 'form_ajax_form_load_nodes',
'wrapper' => 'form-ajax-nodes',
'method' => 'replace',
'effect' => 'fade',
),
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Save'),
);
return $form;
}
function build_form_validate($form, &$form_state) {
//
}
function build_form_submit($form, &$form_state) {
//
}
function form_ajax_form_load_nodes($form, $form_state) {
// Возвращаем элемент формы, который должен быть перезагружен.
return $form_state['values']['price'];
}
Комментарии
'method' => 'html',
Все получилось. Огромное спасибо за помощь.