随笔 - 493  文章 - 0  评论 - 97  阅读 - 239万

Form表单disabled神坑:无法传值到后端

总的一句话:form表单中的元素设置属性为disabled后,将导致该表单项的值不会被传递至后端,所以后端会取不到这个值。

------------------------------------------------------------------------------------------------------------------------------------------------------------------------

From: https://www.bbsmax.com/A/obzbXMg65E/

ExtJs中。假设设置输入框为仅仅读属性,一般第一考虑的都是readonly=true

它的效果和正常输入框一样,可是不同意输入;

然而,它非常easy引起歧义,让用户第一感觉是它是输入框,有输入信息的冲动,事实上不然;

这时候,能够考虑使用disabled=true属性

这下绝对不会觉得可输入,一看就知道不同意改动,但字体颜色明显非常模糊,所以效果不佳;

因此。使用中经常仍然使用readOnly=true,但改动背景颜色来做到disabled的更好效果表现,效果例如以下:

明显感觉就是禁止输入,并且字体清晰。代码片段例如以下:

{columnWidth : 1,

   layout : 'form',

   defaults : {

    xtype : "textfield",

    width : 150,

    allowBlank : true,

    readOnly : true,

    style:'background:#E6E6E6'

   },

   items:[

    {fieldLabel:'事件标题',name:'event_title',width:435}

   ]

  },

为什么要选择readOnly而不是disabled呢。另一个明显的差别:

disabled=true,表单提交时候无法把数据传递到后台Action层,而readOnly=true能够;这个差别和html中标签的disabled和readOnly性能差异是一致的。

posted on   清清飞扬  阅读(1669)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2015-05-22 MySql:charset和collation的设置
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示