我对drupal 7有问题并形成ajax回调。
我有表单选择项目的简单表单,当我选择带有表单无线电的ajax回调显示项目时。它实际上有效,但我只获得无线电项标题和描述,但没有可供选择的选项。
function my_test_form($form, &$form_state) {
$form['places'] = array(
'#type' => 'select',
'#title' => t('Select twitter trends location'),
'#options' => array('1' => 'item 1', '2' => 'item 2'),
'#default_value' => 1,
'#description' => t('Select description'),
'#ajax' => array(
'callback' => 'my_test_form_callback',
'wrapper' => '.form-item.form-type-select.form-item-places',
'method' => 'append',
'effect' => 'fade',
),
);
return $form;
}
function my_test_form_callback($form, &$form_state) {
$form['trends'] = array(
'#type' => 'radios',
'#title' => t('Select'),
'#options' => array(0 => t('Closed'), 1 => t('Active')),
'#default_value' => 0,
'#description' => t('Radios description.'),
);
return $form['trends'];
}
打印结果$ form ['趋势'] - > dpm(drupal_render($form['trends']));
<div class="form-item form-type-radios">
<label>Select trend </label>
<div class="form-radios"></div>
<div class="description">Radios description.</div>
</div>
我很乐意接受任何建议。 非常感谢。
答案 0 :(得分:0)
回调接收内置表单。它只负责返回表单的右侧部分。
function my_test_form_callback($form, &$form_state) {
return $form['trends'];
}
my_test_form
负责为第一次调用和以下所有AJAX调用构建表单。只需将您的条件置于此功能中即可。