f:ajax by onchange event
f:ajax by onchange event
我有一个特殊的问题:我需要在不提交整个表单的情况下,通过客户端onchange事件向服务器发送一个值。有什么功能可以做到这一点吗?
我可以通过Javascript处理组件:
<h:inputText onchange= ...js... >
我可以通过ajax发送一个值:
<f:ajax execute="name"/>
如何组合?
它已经解决了,但我还有一个问题:
什么处理得更快?Ajax事件处理还是JavaScript处理?
简单,AJAX是为页面上发生的部分提交/更新而设计的。您只需要指定<f:ajax>
标记的event
属性,并根据需要将其设为change
。根据提交的部分表单,在标记的execute
属性中指定要在服务器上更新的组件的ID。但由于<f:ajax>
的execute
的默认值正是@this
(触发事件的组件),因此可以完全省略它。像这样:
<h:inputText id="text" value="#{bean.text}">
<f:ajax event="change"/>
</h:inputText>
这样,在JavaScript更改事件发生后,您的bean模型将通过AJAX在幕后进行更新。
关于哪个事件首先发生的问题,您需要了解是JavaScript事件触发了向服务器发送AJAX请求,所以,自然地,后者首先发生。此外,当AJAX响应成功提交时,您可以通过指定onevent
属性来附加客户端回调,以获得JavaScript的挂钩。
我的代码:
<h:inputText id="appleNO" value="#{xxxModel.appleNO}" size="3" maxlength="3">
<f:ajax event="blur" execute="@form" listener="#{xxxController.xxxAction()}" render="appleNO"/>
</h:inputText>
当文本框丢失foucs(onblur)时,将触发xxxAction。
相关文章:
- issue with FB.Event.subscribe
- Angularjs :$routeChangeStart event
- Onchange没有'不要显示或隐藏Div
- event.prventDefault()持续多久
- Javascript Select OnChange没有'不要第二次工作
- onChange不足以从Dojo组合框触发查询
- 试图将onChange函数作为道具传递给GrandChlidren,结果是TypeError:这是未定义的
- 如何使用javascript和PHP动态触发onChange事件
- react testUtils模拟点击单选按钮而不触发onchange
- onChange 函数更改表中显示的数据
- onchange event 如何将日期值传递给 JavaScript
- JavaScript onchange attr event for img
- SELECT onChange event
- ckeditor onChange event
- f:ajax by onchange event
- JQuery onchange in tabs event
- onChange event with rails3 javascript jQuery
- JQuery: onchange event
- CRM 2011 LookUp QuickFind OnChange event
- Javascript onchange event