如果字段B也被禁用,我需要禁用字段A。实际上,如果字段B或字段C为空,则我的当前字段A具有以下#状态(使用hook_alter_form修改)以禁用该字段:
/**
* Implements hook_form_alter().
*/
function my_module_form_alter(&$form, $form_state, $form_id) {
$form['field_a']['#states'] = [
'disabled' => [
[':input[name="field_b[0][value][date]"]' => ['empty' => TRUE]],
'or',
[':input[name="field_c[0][value][date]"]' => ['empty' => TRUE]],
],
];
}它工作得很好,但我需要添加前面提到的条件。我在官方文档中发现了这一点:https://www.drupal.org/docs/drupal-apis/form-api/conditional-form-fields和我试着使用其中的一些,比如“readonly”或“readwrite”,但这是行不通的。从这里开始,我可以评估像“禁用”这样的属性吗?与此类似的是:
function my_module_form_alter(&$form, $form_state, $form_id) {
$form['field_a']['#states'] = [
'disabled' => [
[':input[name="field_b[0][value][date]"]' => ['empty' => TRUE]],
'or',
[':input[name="field_c[0][value][date]"]' => ['empty' => TRUE]],
'or',
[':input[name="field_b"]' => ['#disabled' => TRUE]],
],
];
}发布于 2022-05-20 05:15:22
你不能在州里这样做,这是医生们说的
在检查其他字段的值时,可以使用下列状态:空、填充、选中、未检查的展开折叠值
因此,对于这个特定的特性,您需要使用一些javascript或jquery。
https://drupal.stackexchange.com/questions/311203
复制相似问题