Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用jQuery动态更改输入值不会';t操作JSF组件的ajaxonchange事件_Java_Jquery_Ajax_Jsf - Fatal编程技术网

Java 使用jQuery动态更改输入值不会';t操作JSF组件的ajaxonchange事件

Java 使用jQuery动态更改输入值不会';t操作JSF组件的ajaxonchange事件,java,jquery,ajax,jsf,Java,Jquery,Ajax,Jsf,我试图在一个很长的表单上实现一个自动保存功能 我在JSF中有很多表单,由于@NotNull javax验证注释,这些表单不能为null或空。另外,我还有一些 动态更新其他一些s值 提交的内容如下: <h:commandButton action="${improvementView.save()}" styleClass="btn btn-primary ink-reaction marginleft5 hidden" id="save-blueform-btn"> <

我试图在一个很长的表单上实现一个自动保存功能

我在JSF中有很多
表单,由于@NotNull javax验证注释,这些表单不能为null或空。另外,我还有一些

动态更新其他一些
s值

提交的内容如下:

<h:commandButton action="${improvementView.save()}" styleClass="btn btn-primary ink-reaction marginleft5 hidden" id="save-blueform-btn">
    <f:ajax execute="@all" render="@all"/>
</h:commandButton>
<a href="#" id="form-blueform-save-blueform-btn-ui" class="btn btn-primary ink-reaction marginleft5">
    <i class="fa fa-save"></i> Save
</a>
这是Tomcat返回的日志:

警告:${improvementView.save()}:java.lang.IllegalArgumentException:无法分析参数编号:interpolatedMessage='may not null' javax.faces.FacesException:${improvementView.save()}:java.lang.IllegalArgumentException:无法分析参数编号:interpolatedMessage='may not null' 位于com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:118) 在javax.faces.component.UICommand.broadcast(UICommand.java:315) 位于javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:790) 位于javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1282) 位于com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81) 位于com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) 在com.sun.faces.lifecycle.LifecycleImpl.execute上(LifecycleImpl.java:198) 位于javax.faces.webapp.FacesServlet.service(FacesServlet.java:646) 位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291) 位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 位于org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) 位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 在com.madatait.ci.security.filters.AuthenticationFilter.doFilter(AuthenticationFilter.java:46)上 位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) 位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 位于org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:217) 位于org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) 位于org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) 位于org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142) 位于org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) 位于org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616) 位于org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) 位于org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518) 位于org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091) 位于org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:673) 位于org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500) 位于org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456) 位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 位于org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 运行(Thread.java:745)


对于每个不能为null的输入,都会重复这个过程。

好的,所以我终于找到了答案。我必须使用jQuery的.change()手动触发每个输入的onchange事件,以便执行ajax,JSF识别值的动态变化

$(".form-control").each(function() { 
    $(this).change();
});

我相信这至少能帮某人节省几个小时。

好吧,所以我终于找到了答案。我必须使用jQuery的.change()手动触发每个输入的onchange事件,以便执行ajax,JSF识别值的动态变化

$(".form-control").each(function() { 
    $(this).change();
});

我相信这至少能帮某人节省几个小时。

你救了我一个下午这正是我需要的!你救了我一个下午这正是我需要的!
$(".form-control").each(function() { 
    $(this).change();
});