【发布时间】:2011-07-11 12:53:54
【问题描述】:
我有一个要求,我需要通过 JavaScript 禁用某个事件的下拉菜单,然后提交表单。问题是当下拉组件被禁用时,下拉列表中的值不是通过支持 bean 设置的。
我尝试通过 div 和 span 禁用下拉组件,但没有成功。
谁能建议我如何将禁用组件的值提交给支持 bean? 或者我真的需要 idsable 那个组件,我的意思是如何使用 div 或 span 来实现这个?
【问题讨论】:
标签: jsf-2
我有一个要求,我需要通过 JavaScript 禁用某个事件的下拉菜单,然后提交表单。问题是当下拉组件被禁用时,下拉列表中的值不是通过支持 bean 设置的。
我尝试通过 div 和 span 禁用下拉组件,但没有成功。
谁能建议我如何将禁用组件的值提交给支持 bean? 或者我真的需要 idsable 那个组件,我的意思是如何使用 div 或 span 来实现这个?
【问题讨论】:
标签: jsf-2
HTML forms specification 的Chapter 17.12.1 表示以下内容(强调我的)
17.12.1 Disabled controls
...
设置后,disabled 属性对元素有以下影响:
- 禁用的控件不会收到focus。
- 在tabbing navigation 中跳过禁用的控件。
- 禁用的控件不能是successful。
...
注意最后一点。换句话说,它们永远不会提交给服务器。因此,您看到的行为是完全正确的,并且符合 HTML 表单规范的预期。
为了达到您的要求,您需要在提交后禁用它。
【讨论】:
disabled="#{bean.submitted}" 或其他内容,然后在操作方法中将submitted 设置为true。