当从javascript更改其值时,inputText不会触发ajax更改事件
h:inputText does not fire ajax change event when changing its value from javascript
我有一个输入文本字段,当keyup事件被触发时,它会在javascript函数中改变它的值,还有一个f:ajax应该为change事件:
触发<h:inputText ... onkeyup="functionThantChangesTextValue(this);">
<f:ajax event="change" listener="#{someExpensiveCall()}".../>
</h:inputText>
问题是,如果我在javascript functionantchangestextvalue 中以编程方式更改inputText的值,那么ajax不会触发更改事件
我已经试过了:
function functionThantChangesTextValue(field) {
...
field.value = finalValue;
field.onchange();
}
,在这种情况下,ajax事件触发很好,但我不希望在更改值后立即发生这种情况。我真正想要的是在改变值和失去焦点时执行ajax。
最终我设法找到了使用blur
&focus
事件。在focus
事件上,我使用storeOldValue
函数存储旧的inputTextValue值,然后仅当当前输入文本值与旧的文本值不同时,我才在blur
事件上执行someExpensiveCall
。通过这种方式,我尝试模拟change
事件。
<h:inputText ... onkeyup="functionThantChangesTextValue(this);">
<f:ajax event="focus" listener="#{storeOldValue()}"/>
<f:ajax event="blur" listener="#{someExpensiveCall()}".../>
</h:inputText>
相关文章:
- jQuery绑定了没有DOM元素的AJAX事件
- Asp.net Ajax事件句柄如何与DOM事件协同工作
- jQuery——更改SELECT中的值不会触发AJAX事件
- IE 的行为与 jQuery change/ajax 事件不一致
- 当开机自检失败时,调用哪种类型的 AJAX 事件
- 如何在 AJAX 事件完成之前暂停提交事件
- jQuery Ajax 事件绑定
- jQuery全局Ajax事件处理程序的用例
- 捕获无输入字段的按键ajax事件
- HTML拖放OnDrop Ajax事件
- 针对特定ajax调用的全局$.ajax事件的触发器函数
- <李>ajax[事件委派问题]后点击功能不起作用
- Ajax事件只工作一次
- Ajax事件处理程序不更新变量
- jQuery.AngularJS中的ajaxStart等效函数| AngularJS中的Ajax事件处理程序
- 调用jQuery ajaxSuccess(或任何全局AJAX事件),即使本地成功(或任何本地AJAX事件)抛出错误
- 如何创建脊柱模型没有自动转发ajax事件到服务器的脊柱
- 是否可以用ajax事件显示php内容?
- 在Rails 4上没有从设计登录表单接收ajax事件
- 可以一个jQuery ajaxSuccess函数通知在另一个(javascript)文件的AJAX事件?如果是这样,我做