我在我的页面中写了一个和一个。 当按下回车键时,如果成功发布动作,我想做任何js检查。
使用Javascript:
function text_onkeypress() {
if(event.keyCode==13){
formSubmit();
}
}
HTML:
<p:inputText id="context" value="#{bean.fileName}"
onkeydown="text_onkeypress();"></p:inputText>
<p:commandButton id="search" value="submit" onclick="return formSubmit();"
action="#{action.getResult}" ></p:commandButton>
当我在javascript中编写查询(“#search”)[0] .click()时,它可以进行检查,但不能执行action =“#{action.getResult}”。
我不知道怎么做失败的行动。
答案 0 :(得分:4)
从Javascript提交表单的最简单方法是调用click()
的jQuery对象的<p:commandButton>
事件。
通过声明widgetVar
属性,可以从Javascript访问大多数Primefaces组件。该属性创建一个Javascript变量。例如
<p:commandButton id="search" value="submit" onclick="return formSubmit();" action="#{action.getResult}" widgetVar="searchClientVar" />
我现在可以访问formSubmit
函数中的变量了。这个Javascript变量有一个名为jq
的属性,它引用了底层的jQuery对象以及你可以用来调用click事件的内容。
function text_onkeypress() {
if(event.keyCode==13) {
searchClientVar.jq.click();
}
}
这将调用commandButton的服务器端action
,并在它们通过验证时提交表单值。
答案 1 :(得分:1)
您需要什么样的检查?
您无需在输入时手动提交(特别是当您只有一个表单时)。
如果您只想在用户输入内容时提交表单,则可以使用validateLength
代码。
<h:outputLabel for="firstname" value="Firstname: *" />
<p:inputText id="firstname"
value="#{personBean.firstname}"
required="true" requiredMessage="You have to enter your name" label="Firstname">
<f:validateLength minimum="2" />
</p:inputText>
<p:message for="firstname" />
点击此处演示:http://www.primefaces.org/showcase-labs/ui/pprAjaxStatusScript.jsf
PS:你使用什么PF版本?