Всем привет!
Есть ajax-форма отправки данных :
<?php
$form = array();
$form['percent'] = array(
'#weight' => 0,
);
$form['percent']['percent'] = array(
'#type' => 'textfield',
'#maxlength' => 3,
'#default_value' => '0%',
);
$form['percent']['submit'] = array(
'#type' => 'submit',
'#value' => 'Изменить',
'#ajax' => array(
'callback' => 'ajax_set_percent_',
'wrapper' => 'add_cart',
'method' => 'append',
),
);
/*
$form['percent']['submit_'] = array(
'#type' => 'link',
'#title' => t('Изменить'),
'#ajax' => array(
'callback' => 'ajax_set_percent_',
'wrapper' => 'add_cart',
'method' => 'html',
),
);*/
?>
В низу закоментирован код для отправки формы по ссылке.
Как сделать, так что бы форма отправлялась по нажатию на ссылку, а не по кнопке?? Вот только ajax подгружает данные не из функции а по ссылке....
Комментарии
То, что у вас закомментировано никогда не будет работать.
http://api.drupal.org/api/drupal/developer--topics--forms_api_reference....
Сабмит могут посылать только button, image_button и submit.
Вообще аджакс-ссылки работают по другому принципу. Через hook_menu создаете коллбэк и потом вешаете его на линк. Пример.
Не уверен, что получится как-то красиво засабмитить форму таким образом. Как вариант, можно сделать image_button и замаскировать его под ссылку.
Мда, некрасиво..... Но может быть это вариант.
Знаем.... )
Выходит средствами друпала невозможно отправить форму ссылкой, даже хуками??
Я как-то пробовал и у меня не получилось, но это не говорит о том, что это невозможно.
Средствами друпала не получилось, пришлось извращаться самой
Возникла идея!
А что если сделать линк, а в его коллбеке:
return array('#type' => 'ajax', '#commands' => $commands);
Должно сработать!
Кстати да!
Так как справились? Каково решение?