我有一个js函数codeAddress()
处理来自 address
的数据并更新 fullAddress
的值和validField
.
我试过<p:ajax>
传递fullAddress
的数据和validField
到支持 bean,但 setter 方法似乎被延迟调用一个请求。
<h:form id="addressForm">
<p:inputText id="address">
<p:ajax onstart="codeAddress()" process="fullAddress validField"/>
</p:inputText>
<p:commandButton value="submit" />
<p:inputText id="fullAddress" value="#{addressBean.fullAddress}" />
<p:inputText id="validField" value="#{addressBean.valid}" />
</h:form>
最佳答案
onstart
在即将发送 ajax 请求之前被调用。此时ajax请求已经准备好很长时间了。因此,让它考虑更改后的输入值已经太晚了。
最好使用输入组件的 onchange
属性。它在准备 ajax 请求之前调用。
<p:inputText id="address" onchange="codeAddress()">
<p:ajax process="fullAddress validField"/>
</p:inputText>
关于javascript - 如何使用<p :ajax> to pass javascript generated data to backing bean?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14854437/