Подскажите пожалуйста как реализовать такую штуку:
в зависимости от выбора опции радоса, нужно чтобы форма отправлялась в разные обработчики..
например при выборе первой опции, срабатывает стандартная функция ____form_submit()
а при выборе второй опции нужно чтобы форма отравила данные на другой сервер. т.е. нужно воспользоваться $form['#action'] = '__';
'#states' => на него не поставить....
Комментарии
Вариантов масса, например можно сделать вот так:
<?php
$form['radios'] = array(
'#type' => 'radios',
'#title' => t('Radios'),
'#options' => array(
'first' => 'First',
'second' => 'Second',
),
);
$form['first-submit'] = array(
'#type' => 'submit',
'#value' => 'First',
'#submit' => array('first_form_submit'),
'#states' => array(
'visible' => array(
':input[name="radios"]' => array('value' => 'first'),
),
),
);
$form['second-submit'] = array(
'#type' => 'submit',
'#value' => 'Second',
'#submit' => array('second_form_submit'),
'#states' => array(
'visible' => array(
':input[name="radios"]' => array('value' => 'second'),
),
),
);
?>
спасибо за ответ)
а как сделать чтобы второй сабмит отправлял данные на заданную ссылку?
т.е. нужен пост запрос на другой сервер..
Пост запрос на другой сервер с помощью Form API не сделать, но можно сделать хитрый маневр, точнее самый очевидный, в своем сабмите инициализировать curl и делать какие угодно запросы куда угодно. Если конечно вы знакомы с курлом, но ничего сложно там нету, составить пост запрос на другой сервак плевое дело.
ок.. спасибо)
с курл к сожалению пока еще не знаком..)
благо оказалось что другой сервер может так же принимать гет запросы, поэтому во втором обработчике выставил drupal_goto($link);