【发布时间】:2017-11-21 07:31:05
【问题描述】:
这里是捕获和禁用回车键的选择器
$(".disableEnterKey").keydown(function(event) {
var charCode = event.charCode || event.keyCode || event.which;
if (charCode === 13) {
event.preventDefault();
return false;
}
});
禁用primefaces-timepicker输入字段的回车键
<pe:timePicker id="startTime"
value="#{xxx.xxx.var}"
mode="popup" startHours="0" endHours="23"
showPeriod="true" widgetVar="startTimeWidget"
styleClass="form-control keyDownFalse disableEnterKey" >
<p:ajax event="timeSelect" partialSubmit="false"
listener="#{xxx.var}"
update="endTime, duration"
oncomplete="keyDownFalse()"/>
</pe:timePicker>
但这里的问题是 ajax 标签下的 update 属性。即,一旦触发开始时间选择器事件,我将更新结束时间选择器。但它应该只在从开始时间选择器中选择小时和分钟而不是按 enter 键时触发。
一旦在开始时间按下回车键,结束时间就会更新。
所以请建议我在按 Enter 时限制 ajax 机制的确切方法是什么。提前致谢。
【问题讨论】:
-
您在 oncomplete 中没有返回任何内容...您应该... stackoverflow.com/questions/34354839/… 是重复的吗?
-
@Kukeltje,我认为
return不会影响任何更改。即 oncomplete="return keyDownFalse()"。 -
我也试过了。但对我的用例没有影响。
-
在 ajax 请求结束时会触发 oncomplete... 确定需要吗?但现在我想起来了(你确实需要'return'),你不能阻止来自ajax 调用本身的ajax 调用。您需要在 timePicker 上首先阻止调用。白天让我看看我是否能找到“某种”重复
标签: jquery ajax jsf primefaces primefaces-extensions