- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个带有输入文本和 2 个命令按钮的简单表单。 inputText 很好地显示了支持 bean 的值,但是当我第一次更改值时,没有调用 set 方法,因此表单以空值提交。当我再次更改它时,将调用 set 方法并且一切正常。是什么原因,如何解决?
<h:panelGroup id="chatId">
<h:panelGrid rendered="#{chat.validUser == true}">
<h:form id="sendMsgForm" >
<h:panelGroup id="chatId2">
<h:inputText id="chatInput" value="#{chat.msgTo}" autocomplete="off" >
<f:ajax execute="@this @form" />
</h:inputText>
<h:commandButton value="Send" id="sendButton" action="#{chat.send}">
<f:ajax render=":chatLogId :chatId" />
</h:commandButton>
<h:commandButton value="Bye" action="#{chat.bye}">
<f:ajax render=":chatLogId :chatId :chatUserId" />
</h:commandButton>
</h:panelGroup>
</h:form>
</h:panelGrid>
</h:panelGroup>
后台bean代码:
@SessionScoped
public class Chat implements Serializable, ActionListener, ValueChangeListener {
private String msgTo = "Start typing...";
private boolean validUser = false;
public void bye() {
validUser = false;
tc.disconnect();
}
public void send() {
try {
tc.sendMessage(msgTo);
setMsgTo("");
} catch (Exception e) {
e.printStackTrace();
}
}
// ...
最佳答案
Matt Handy 的代码片段是正确的解决方案,但对原因的解释不正确。
您省略了 execute
<f:ajax>
的属性在命令按钮中。然后它将默认为 @this
这意味着只有按钮本身的名称=值对被发送到服务器端(因此只有关联的操作将被调用;输入值不会被更新)。由于您想提交整个表单,因此需要显式设置 execute
至 @form
.
<h:commandButton value="Send" id="sendButton" action="#{chat.send}">
<f:ajax execute="@form" render=":chatLogId :chatId" />
</h:commandButton>
它在输入字段更改期间起作用是因为您输入了 execute="@form"
在输入字段中。 <f:ajax>
inside input fields 将默认在您更改值时执行。但在这种特殊情况下,您根本不需要它。所以摆脱它:
<h:inputText id="chatInput" value="#{chat.msgTo}" autocomplete="off" />
关于ajax - <h :inputText value not updating,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5476510/
我有三个单选按钮,一个 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
我是一名优秀的程序员,十分优秀!