как передать аргументы в Ajax callback функцию в drupal 7 form api
$element['field name'] = array(
'#type' => 'textfield',
'#ajax' => array(
'callback' => 'ajax_function_name_callback'/%/%/%,
'method' => 'replace',
'event' => 'blur',
'effect' => 'fade',
'progress' => array('type' => 'throbber', 'message' => ''),
),
);
function ajax_function_name_callback($form,$form_state)
{
return ..
}
например, если мне нужно указать элемент формы для выполнения действия с помощью ajax, мне нужно передать имя элемента в функцию и выполнить клиентскую операцию и вернуть результат в другой элемент формы
мне нужно передать aruguments в эту callback функцию 'callback' => 'ajax_function_name_callback'
function ajax_function_name_callback($args1,$args2,. ..$form,$form_state) { return ... }
2 - а как через форму?
спасибо...
если я не знаю, что за имя $input_name оно генерируется из чего-то, мне нужно сказать ajax_'function_name_callback имя этого поля, чтобы сделать
$element[$input_name] = array(
'#type' => 'textfield',
'#size' => '41',
'#ajax' => array(
//////////////////////////////////////////////////////////////////////////////////
// here how i tell the ajax call back about this arguments informationvlike parents of this field ... etc
/////////////////////////////////////////////////////////////////////////////////
'callback' => 'ajax_'function_name_callback',
'method' => 'replace',
'event' => 'blur',
'effect' => 'fade',
'progress' => array('type' => 'throbber', 'message' => ''),
),
);
function ajax_'function_name_callback($arg_position,$arg_fieldName,$form,$form_state)
{
$form[$arg_position][$arg_fieldName][#value] = anotherFunction($form[$arg_position][$arg_fieldName][#value]);
return $form[$arg_position][$arg_fieldName];
}