0
我试图渲染一个按钮,该按钮应该最初呈现禁用状态,并且在某些时候由客户端操作启用。我使用的组件从A4J用下面的代码:在JSF中呈现禁用的按钮
<a4j:commandButton id="myButton" disabled="true" onclick="myFunction()">
问题是,当残疾人属性设置为true,则事件不会附着的组件,导致此HTML代码:
<input type="button" onclick="return false" ... />
所以,当我尝试启用通过JavaScript,启用按钮,但按钮没有附加事件侦听器。
到目前为止,只有两个解决方案,我能想到的是:
- 分配残疾人属性值的bean属性,并重新呈现按钮。
- 渲染最初启用,通过JavaScript
这两个选项的工作,但他们不是很干净负载页面上禁用,我不希望我每次启用按钮进行申请到服务器。
重新渲染的问题在于启用/禁用被附加到由onRowClick事件控制的两个表的状态,并且我不想让我的服务器泛滥不必要的请求。 – jasalguero
然后去找你的第二个选项,如果安全不是你关心的话。 – BalusC
我没有看到那种情况下的安全缺陷?通过JavaScript启用/禁用组件有什么问题?我认为它更像是一个商业问题,因为它可能不会发送所有需要的数据,但有了正确的验证/卫生设施,它可以解决它,有没有我没有看到的东西? – jasalguero