【问题标题】:Symfony 3 undisabled select not submittingSymfony 3 未禁用选择未提交
【发布时间】:2017-08-31 17:41:36
【问题描述】:

我有一个由表单生成器定义的只读选择:

    ->add('sampledBy', EntityType::class, array(
        'class' => 'AppBundle:FOSUser',
        'query_builder' => function (EntityRepository $er) {
            return $er->createQueryBuilder('u')
                ->orderBy('u.cn', 'ASC');
        },
        'choice_label' => 'cn',
        'disabled' => true
    ))

我使用 JQuery 从表单中的另一个字段进行更新。在this 回答之后,我已将选择设置为用户无法更改:

*在创建时将其设置为禁用。

*提交前设置为disabled = false:

 $(form).on('submit', function() {
     $("select[id$='sampledBy']").prop('disabled', false);
 });

现在,在提交时,我看到选择字段更改为disabled = false(颜色变回白色,并且在提交表单时可以点击。但是,数据没有保存。

有人见过类似的行为吗? JQuery 似乎工作正常,所以我想知道这是否是 Symfony 特定的问题。

【问题讨论】:

    标签: php jquery symfony disabled-input


    【解决方案1】:

    即使html这样说,浏览器中的状态也不会改变。

    为了绕过这个,我通过 javascript 将该字段更改为只读,并更改了 CSS 以使其看起来像已禁用。

    ->add('sampledBy', EntityType::class, array(
            'class' => 'AppBundle:FOSUser',
            'query_builder' => function (EntityRepository $er) {
                return $er->createQueryBuilder('u')
                    ->orderBy('u.cn', 'ASC');
            },
            'choice_label' => 'cn',
            'disabled' => false
        ))
    

    在css中

    .readonly{
    background-color: transparent !important;
      border : 0px !important;
        box-shadow: none;
    }
    .disabled{
    background-color: transparent !important;
      border : 0px !important;
        box-shadow: none;
    }
    

    【讨论】:

    • 这是我最终要走的路线,谢谢你告诉我。
    【解决方案2】:

    我最终使用 css 来跳过鼠标事件,并使用 JQuery 来处理键盘焦点:

    self.blur_field = function (field) {
        $(field).css('background-color', '#eee');
        $(field).css('pointer-events', 'none');
    
        $(field).focus(function () {
            $(this).blur();
        });
    };
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-02
      • 1970-01-01
      • 2015-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多