- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有没有办法推迟 keyup ajax 请求,直到 h:inputText 值达到定义的长度?
我想达到以下目标:文本输入字段必须填充日期和时间的组合值。预期格式为:ddMMHHmm
一旦值达到 8 个字符的长度,就必须将新的事件对象添加到数据列表中,并应立即显示以供确认。要确认添加新事件,用户只需在此文本输入字段中按 Enter 键即可。
我不知道是否有与使用 ajax keyUp 事件验证输入而不需要任何进一步的用户交互不同的功能?
这里你可以看到我的想法的一个非常简短的例子:
@Named
@SessionScoped
public class EventController {
private Date selectedDate; // +getter/+setter
private MyEvent event;
private List<MyEvent> events; // ArrayList<MyEvent>(), +getter
@PostConstruct
private void init() {
// load current events from DAO
}
public void validateInput() {
event = new MyEvent(selectedDate);
events.add(event);
}
public void confirmEvent() {
eventDAO.addEvent(event);
}
以及 View :
<h:inputText
value="#{eventController.selectedDate}"
converter="#{comfortableDateTimeInputConverter}"
id="inputDateTime">
<f:ajax
<!-- pseudo code on !!! -->
executeCondition="<lengthOfInputField equals 8>"
<!-- pseudo code off !!! -->
execute="inputDateTime"
render="eventData"
event="keyup"
listener="#{eventController.validateInput}"
/>
</h:inputText>
<h:commandButton ... actionListener="#{eventController.confirmEvent}" />
<h:panelGroup id="eventData">
<h:dataTable var="..." value="#{eventController.events}">
// display event properties
</h:dataTable>
</h:panelGroup>
ComfortableDateTimeInputConverter 提取输入字符串的日期和时间部分并返回一个日期对象。
我正在使用
按照 BalusC 的建议,我修改了我的 h:inputText
,但似乎什么也没有发生。这是我的原始代码(除了 Controller 名称)。我在 eventController.validateNewEvent
中添加了一条日志消息,但它似乎没有被执行。我错过了什么吗?
<h:inputText
readonly="#{empty eventController.selectedPerson}"
value="#{eventController.selectedDate}"
id="inputDateTime"
tabindex="3"
converter="#{comfortableDateTimeInputConverter}"
onkeyup="return value.length >= 8"
onfocus="this.select()">
<f:ajax
event="keyup"
execute="inputDateTime"
listener="#{eventController.validateNewEvent}"
render="selectedDate txtDate listEvents" />
</h:inputText>
我还尝试在ajax元素上render="@all"
,但仍然没有任何反应。如果我使用 event="blur"
并用 TAB 保留输入,它就像一个魅力......
已替换
onkeyup="return value.length >= 8"
与
onkeyup="return this.value.length >= 8"
并且它有效。参见BalusC的回答...
最佳答案
就return false
来自onkeyup
只要value.length
尚未达到所需值。
例如
<h:inputText ... onkeyup="return this.value.length >= 8">
<f:ajax event="keyup" ... />
</h:inputText>
关于ajax - 如何将 keyup ajax 请求推迟到 h :inputText length is reached,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31137549/
我有三个单选按钮,一个 inputText 和一个提交按钮。我只想在选择某个 radio 时验证提交时的输入文本。所以我有 在我的 bean 里,我有 public void validateNu
我想在页面加载时将焦点设置在JSF中的inputText字段上。我该如何实现? 最佳答案 如果您已经在使用HTML5和JSF 2.2,请使用HTML5 autofocus属性。在JSF 2.2中,可以
当特定 inputText 出现验证错误时,我想将焦点设置在 JSF 中的 inputText 字段上。我该如何实现? 我认为 inputText 上的 validatorMessage 会开箱即用,
我在 blazor 中有一个 InputText,我想阻止非数字字符,那么基本的 razor 和 c# 代码是什么?这是我需要它的工作方式,用户输入一个字符,它一起拒绝输入,并显示一条验证消息,说明只
我只需要允许字母字符 [A-Z,a-z]在 PrimeFaces inputText 字段中。 我怎样才能做到这一点? 最佳答案 不是针对 Primefaces,而是针对底层 JSF: 您可以在输入字
我需要实现以下内容: 以 ajax 方式上传多个文件(无需刷新整个页面) 每个文件的描述字段 必须使用 JSF 2.0 完成 以任意组合执行 3 个要求中的 2 个没有问题。使用 JSF 2.0 的多
我想在 JSF/Primefaces inputText 组件中显示默认的信息文本。 当用户单击文本字段时,此文本应该消失。 当他点击外部而不输入任何内容时出现。 如果用户提交的表单没有任何值,则不应
这个问题在这里已经有了答案: What is a NullReferenceException, and how do I fix it? (27 个回答) 2年前关闭。 当我使用 Blazor 中
JSF-2.0、Mojarra 2.1.19、PrimeFaces 3.4.1 问题摘要:有 p:inputText里面p:dataTable和由 p:remoteCommand 触发的 inputT
使用example from the Microsoft docs ,我正在尝试以编程方式将焦点设置到输入元素。 不幸的是,该示例使用标准 而我想用它来 InputText element . Mic
以下是我的 abc.xhtml 页面中的代码片段: 这是我的 panelGrid 我正在动态生成 inputTe
我正在尝试制作一个日期掩码和一个小时掩码,但我遇到了问题。这样,面膜就可以很好地发挥作用。但停止工作 Controller 上设置的默认输入。 public class someController
我正在使用 netbeans 开发一个 jsf Web 应用程序。
我正在使用 JSF,我想在 InputText 元素的 keyup 事件上调用监听器,但前提是输入文本长于 3 个字符。 我的代码是: 现在我正在我的听众中检查文本的长度,效果很好,但速度很
有没有一种方法可以将 inputText 的返回值与多个属性关联起来? 像这样(这是一个示例,语法中不存在 value1 和 value2 标签属性): 提前致谢! 最佳答案 也许只需将 inpu
我有一个富数据表的列,如下所示:
在 Jquery 中,我成功向托管 bean 发送值 document.getElementById('formId:inputId').value = "blavla"; document.getE
这个问题已经有答案了: Clear JSF form input values after submitting (5 个回答) 已关闭 8 年前。 我是 java 服务器面孔的新手。当我单击提交按钮
我正在尝试制作一个只接受浮点值的输入文本。此外,输入的值必须介于两个值之间。 我创建了一个包含“验证”方法的类。如果该值不在两个值之间,则会显示一个弹出窗口。 但是我有一个问题。该方法仅在用户点击“E
在使用 Moharra JSF 2 的 JBoss AS 7.1.1 上,使用 inputText 元素创建的 XHTML 文件不会呈现属性 required="true"。 没有错误,但输出的 HT
我是一名优秀的程序员,十分优秀!