首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果禁用另一个字段,则禁用字段

如果禁用另一个字段,则禁用字段
EN

Drupal用户
提问于 2022-05-17 22:29:13
回答 1查看 189关注 0票数 2

如果字段B也被禁用,我需要禁用字段A。实际上,如果字段B或字段C为空,则我的当前字段A具有以下#状态(使用hook_alter_form修改)以禁用该字段:

代码语言:javascript
复制
/**
 * 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”,但这是行不通的。从这里开始,我可以评估像“禁用”这样的属性吗?与此类似的是:

代码语言:javascript
复制
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]],
    ],
  ];
}
EN

回答 1

Drupal用户

发布于 2022-05-20 05:15:22

你不能在州里这样做,这是医生们说的

在检查其他字段的值时,可以使用下列状态:空、填充、选中、未检查的展开折叠值

因此,对于这个特定的特性,您需要使用一些javascript或jquery。

票数 0
EN
页面原文内容由Drupal提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://drupal.stackexchange.com/questions/311203

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档