如何在数据表的命令链接中使用 ajax 禁用表单字段
How to disable a form field using ajax in a commandlink of a datatable
我上面有一个表单,用于捕获合同记录并将它们显示在具有命令链接"编辑"标签的数据表中。当我单击"编辑"时,我希望表单填充此合同数据,但禁用合同编号字段。我正在尝试在 Ajax onEvent 标签中执行此操作禁用并且它正在工作(即禁用)。但是,在使用 ajax 时,字段不会在表单中填充/显示。如果我删除它,一切都很好,只有合同号将可编辑。这些是我的编辑标签。
<h:commandLink id="editLink" value="#{bundle.ListUnitEditLink}" >
<f:ajax onevent="disablePK" listener="#{contractManager.updateContract}" />
</h:commandLink>
这是我的背豆。
public String updateContract() {
System.out.println("Now in UPDATECONTRACT method and serious debugging");
current = (Contract) items.getRowData();
this.newContractId=current.getContractid();
this.newContractDesc=current.getContractdesc();
this.newContractDt=current.getContractdt();
this.newContractAmt=current.getContractamt();
this.newContractStrtDt=current.getContractstrtdt();
this.newExpDuration=current.getExpduration();
this.newCtdBy=current.getCtdby();
this.newCtdOn=current.getCtdon();
this.lstUpdBy=current.getLstupdby();
this.lstUpdOn=current.getLstupdon();
return "contracts";
}
Bean 中的属性被赋予了正确的值,但它们没有出现在要编辑的表单中。
我通过在 ajax 标签中添加 render=@all 解决了我的问题
<h:commandLink id="editLink" value="#{bundle.ListUnitEditLink}"
actionListener="#{contractManager.updateContract}">
<f:ajax onevent="disablePK" render="@all" />
</h:commandLink>
相关文章:
- 当搜索字段为空时,取消所有ajax请求
- 在 Jquery ajax 中,在一个字段中输入时获取详细信息
- Javascript/ajax 不向 php 发送空字段
- 自动填充动态字段上的 ajax 响应
- 在ajax Jquery之后无法获取隐藏字段的值
- 使用AJAX发送隐藏的ID输入字段
- 每当表单输入字段发生更改时,都会发送一个ajax请求
- 使用PrimeFaces<p: ajax>,只在更改字段的键击时在inputText中启动Ajax
- Jquery ajax post禁用启用字段并获取响应
- AJAX/JS:抓取多个输入字段而不刷新或点击按钮,php会回显该值
- 传递数据以填充在ajax Modal中加载的输入字段
- JS/Ajax:抓取输入字段值,无需刷新或点击按钮
- 使用AJAX值的Fileupload不会在表单中传递其他字段
- PHP通过AJAX更新字段值
- 使用ajax提交一个包含未知数量字段的html表单
- 如何重置AJAX结果输入字段
- AJAX请求结果为空-清除我们的HTML输入字段
- ajax字段插入而不加载第二页错误
- 试图用返回的值更新AJAX字段(但必须在更新之前点击离开)
- 带有select autocomplete ajax字段的Codeception测试表单