首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Symfony - JS使禁用的字段不持久

Symfony - JS使禁用的字段不持久
EN

Stack Overflow用户
提问于 2016-04-16 22:59:04
回答 1查看 193关注 0票数 1

我有一个表单,其中包含一个下拉列表和一个复选框。该复选框控制下拉菜单是否从表单的初始呈现中被“禁用”(灰显)。我有JS,当您取消选中该框时,它将启用该字段,并且现在允许用户更改该值。这一切都行得通。

当您取消选中该框并更改下拉列表中的值时,Symfony仅保留复选框的值,并忽略下拉列表中的新值。我认为这是因为symfony知道在最初呈现表单时禁用了该框,并忽略了更改该值时发布的任何新值。

我检查了分析器,它提交了复选框(1)的新值和post字段中下拉列表的新值。

profiler的doctrine选项卡只显示正在更新的复选框值,而不显示新的下拉值。

希望有人能给我指明正确的方向。希望是一些简单的选项,告诉symfony更新所有内容,无论它最初是否呈现为禁用字段。

EN

回答 1

Stack Overflow用户

发布于 2020-04-09 02:21:46

您需要使用readonly属性,并使用JS或jQuery来更改字段的状态。我在Symfony 4中这样做了。

代码语言:javascript
复制
->add('someInput', TextType::class, array(
    'attr' => array(
        'readonly' => true,
    ),
));

然后使用JS根据某个值动态修改它

代码语言:javascript
复制
if( someCondition ){    
        $(input).prop('readonly', false).attr('required',true);
    } else{
        $(input).prop('readonly', true).attr('required',false);
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36665726

复制
相关文章

相似问题

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