我正在使用jquery将值设置为jsf输入框。在事件处理程序中,我找到了值,但在表单上提交的值没有传递给bean。我的jQuery代码如何检索表单提交输入值
function setValue(){
$("#inputbox").value("Johny");
}
<h:inputText id="inputbox" value="#{user.name}" onmouseover="$(this).val();"/>
如何在表单提交期间捕获此输入值?
我正在使用jquery将值设置为jsf输入框。在事件处理程序中,我找到了值,但在表单上提交的值没有传递给bean。我的jQuery代码如何检索表单提交输入值
function setValue(){
$("#inputbox").value("Johny");
}
<h:inputText id="inputbox" value="#{user.name}" onmouseover="$(this).val();"/>
如何在表单提交期间捕获此输入值?
给名字输入文本(名称应该是完全一样的,因为它是在豆)
<h:inputText name="{user.name}" value="#{user.name}" onmouseover="$(this).val();"/>
in bean-the variable name should be-(i am just giving an example)
private name;
jQuery代码(和你的JS document.getElementById()
代码)工作将只有工作,如果您关闭了JSF所做的元素ID的前置操作,以防止在包含模板中多次使用组件时重复元素ID。
您可以通过将父项<h:form>
的prependId
属性设置为false
来完成此操作。
<h:form prependId="false">
至于真正的问题:jQuery的/ JavaScript的运行在客户端和他们的作品与JSF的Web服务器已生成的HTML DOM树和网络服务器已发送到网页浏览器。用鼠标右键单击网页浏览器中的页面,然后选择查看源文件。你看到了吗?像
<h:form id="myform">
<h:inputText id="myinput" />
一个形式获取生成类似如下:
<form id="myform">
<input type="text" id="myform:myinput" name="myform:myinput" />
您需要确切使用此客户端ID jQuery中/ JS。由于:
是CSS选择器非法字符,你需要在不同的jQuery选择它一点:
$("[id='myform:myinput']").val("newvalue");
但是它工作正常,如纯JS如下:
document.getElementById("myform:myinput").value = "newvalue";
我想它不是加工。 – Achaius 2011-06-16 10:03:05