передача аргументов в функцию обратного вызова Ajax в drupal 7 form api

как передать аргументы в 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];
}
9
задан zanvidmar 7 July 2019 в 00:54
поделиться