怎么设置struts1中单击<html:submit>按钮提交之后提交过程中提交按钮变灰,但是提交过程不会停止

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么设置struts1中单击<html:submit>按钮提交之后提交过程中提交按钮变灰,但是提交过程不会停止相关的知识,希望对你有一定的参考价值。

能不能在<html:submit>中添加onclick方法来设置?但是这样设置之后提交过程就停止了。怎么办?

1、<html:submit>标签中可以添加onclick;
2、onclick会在submit之前执行,会打断提交过程,这个时候<html:submit>实际上相当于一个普通按钮<html:button>,所以在执行使按钮变灰的方法后需要重新提交一次;
3、建议修改:
<html:form id="formId" action="" method="">
<html:button id="buttonId" onclick="doSubmit();"></html:button>
</html:form>
<script type="text/javascript">
function doSubmit()
//使按钮变灰
//如果是要是按钮点击后不可用,这样写:
document.getElementById("buttonId").disabled=true;
//如果只是使按钮变色,这样写:
//document.getElementById("buttonId").style.background="#666666";
//特别的需要执行提交表单
document.getElementById("formId").submit();

</script>追问

谢谢你的回答。不过能不能在的onclick方法中设置该提交按钮变灰不可用后再提交这个?或者先提交这个在设置这个按钮变灰不可用?我说的变灰是disabled=true。

追答

可以,不过submit按钮提交的功能就没了,加了onclick它就相当于一个普通按钮,当你把你想干的事情都干完了之后,再用document.getElementById("formId").submit();提交表单。

追问

提交时需要指定的action的时候,比如:document.forms[0].action="ODMD00203S.do?method=methodname";如果我的struts-configure.xml中action的配置parameter=“menu,logout,back,decide”不是method的时候document.forms[0].action=?

参考技术A 很好解决的,你用jquery,在js文件中用ajax请求,请求后的回掉函数中用选择器获取按钮,再用将它的属性设为disable。追问

已经解决了。谢谢。只要把document.forms[0].action="ODMD00203S.do?method=methodname";
写为document.forms[0].action="ODMD00203S.do?methodname";就可以了。

在struts2 中怎么集成velocity

[解决办法]
<servlet>
<servlet-name> velocity </servlet-name>
<servlet-class> org.apahce.velocity.tools.view.servlet.VelocityLayoutServlet </servlet-class>
<init-param>
<param-name> org.apache.velocity.toolbox </param-name>
<param-value> /WEB-INF/toolbox.xml </param-value>
</init-param>
<init-param>
<param-name> org.apache.velocity.properties </param-name>
<param-value> /WEB-INF/velocity.properties </param-value>
</init-param>
</servlet>

<servlet-mapping>
<servlet-name> velocity </servlet-name>
<url-pattern> *.htm </url-pattern>
</servlet-mapping>

Struts要是1.2版本的

Struts2不需要做什么处理的,因为它会自动集成Velocity,你只需要把result的type设置为velovity,然后定位到一个vm文件就可以了!

<result type= "velocity "> /LoginSuccess.vm </result>

不过要注意vm里的中文会有乱码,建议你使用%getText( \' \')获取国际化资源文件中的文字。
参考技术A <servlet>
<servlet-name> velocity </servlet-name>
<servlet-class> org.apahce.velocity.tools.view.servlet.VelocityLayoutServlet </servlet-class>
<init-param>
<param-name> org.apache.velocity.toolbox </param-name>
<param-value> /WEB-INF/toolbox.xml </param-value>
</init-param>
<init-param>
<param-name> org.apache.velocity.properties </param-name>
<param-value> /WEB-INF/velocity.properties </param-value>
</init-param>
</servlet>

<servlet-mapping>
<servlet-name> velocity </servlet-name>
<url-pattern> *.htm </url-pattern>
</servlet-mapping>

Struts2不需要做什么处理的,因为它会自动集成Velocity,你只需要把result的type设置为velovity,然后定位到一个vm文件就可以了!

<result type= "velocity "> /LoginSuccess.vm </result>
参考技术B 在struts.xml文件中直接写上<result name="success" type="velocity">a.html</result> 参考技术C 1、导入包
velocity-1.7.jar
velocity-tools-2.0.jar
commons-collections-3.2.jar
2、配置
在web.xml中配置result type=velocity就可以了。

以上是关于怎么设置struts1中单击<html:submit>按钮提交之后提交过程中提交按钮变灰,但是提交过程不会停止的主要内容,如果未能解决你的问题,请参考以下文章

struts1与struts2可以结合使用吗,怎么结合?

Struts1的基础知识

标签a设置单击事件,当连续单击时,会选择文本,怎么弄

是 在struts1中等于 在Struts 2中

struts1之配置文件

Delphi中单击显示内容怎么设置