>我有一个大的 ajax 表单,有 4 个下拉字段,每个下拉字段下面都有添加/移动按钮。问题是,如果按钮值相同,我就无法使表单工作,并且我需要它们至少在视觉上相同,否则看起来很荒谬。如果它们具有相同的 #value 则每次都会调用最后一个按钮。因此,新的下拉字段被添加到第 4 个"下拉区域"。如果 #submit 类型字段有 #title 或 #text,那就完美了。但是没有。
这是我正在写的一个按钮的例子。每个按钮的回调或 #submit 是否不同并不重要。如果值相同(包括如果它是翻译模块完成的),则调用最后一个。
if ($form_state['num_names_3'] > 1) {
$form['dropdown_fieldset']['remove_name_3'] = array(
'#type' => 'submit',
'#value' => t('Remove one 3'),
'#submit' => array('order_wood_3_add_more_remove_one'),
'#ajax' => array(
'callback' => 'order_wood_3_add_more_callback',
'wrapper' => 'dropdown_fieldset',
),
);
}
请在您的字段中应用#name
属性,那么无论文本是相同还是不同#value
只有您的自定义提交有效。
if ($form_state['num_names_3'] > 1) {
$form['dropdown_fieldset']['remove_name_3'] = array(
'#type' => 'submit',
'#value' => t('Remove'),
'#name' => 'remove_name_3',
'#submit' => array('order_wood_3_add_more_remove_one'),
'#ajax' => array(
'callback' => 'order_wood_3_add_more_callback',
'wrapper' => 'dropdown_fieldset',
),
);
}
它可能对您有所帮助。
谢谢