EXTJS - 在EXTJS中禁用组件时会发生什么?

时间:2013-03-27 19:50:00

标签: google-chrome extjs browser

我想知道是否使用.setDisabled(true)将EXTJS应用中的组件(即组合框)状态从启用更改为禁用状态。

幕后真的发生了什么? 是仅仅为此组件更改了CSS,还是组件的行为确实发生了变化?

我之所以这样问是因为我关注安全性,用户是否可以简单地在浏览器中查看源代码并将组件的属性更改回启用状态?可能是这种情况吗?

如何避免用户更改组件?

2 个答案:

答案 0 :(得分:0)

禁用客户端上的任何extjs组件,只需更改UI的显示和行为即可。您应该始终在服务器端进行所有安全检查。

答案 1 :(得分:0)

setDisabled(true)会将disabled属性添加到HTML元素中。

这意味着如果/当表单被POST回服务器时,将不包括该控件的值。它还会改变控件的行为,它将变得无法使用且无法点击,默认情况下,Web浏览器会将禁用的控件呈现为灰色。

ExtJS我相信默认情况下,还会将x-disabled css类添加到组件中,然后您可以将其用于样式目的。

如上所述,客户端实现的任何安全性也应在服务器端进行检查。任何人都可以使用IE Developer Tools,FireBug等来更改HTML元素的值,这将绕过您在客户端上放置的任何安全规则。