引: 【坚持每天进步一点。想学英语?你只需要每天记住一个单词,一个语法就行了。十年时间你似乎可以当专家了。
】
内容: 以往在编写liferay-portlet中,运用struts标签<html:form .........>...</html:form>提交表单的时候,最后的submit都是用:<img src="/ZXGZ/images/nextstep.gif" alt="submit" onClick="return check(); " />来用图片代替按钮进行提交的,submit是写在<script language="javascript"> function check(){formName.submit(); } </script>中。实际上就是在点击按钮的时候,调用了js自定义的check()函数,check()函数当中用了form名称点取了submit()方法。【注:用到的是struts标签,所以form名称是写在struts-config.xml中的】
网上查到了另一种写法,如下:
<script language="javascript">
function fsubmit(obj){
obj.submit();
}
function freset(obj){
obj.reset();
}
</script>
而以往的onClick="return check(); " 写法被取代成了onClick="javascript:freset(document.sqform);"
原理一样的,都是调用了js函数进行submit提交。只不过写法不同而已。
onClick="javascript:fsubmit(document.sqform);" 可以写成: onClick="return fsubmit(document.sqform);"
也可以写成onClick="return fsubmit(sqform);" //form名称作为了参数传递给fsubmit()方法。
知识点:
1、struts标签中form表单的写法,表单的名字是定义在struts-config.xml中;普通的<form....>标签可以省略名字,但是如果有form参与到js函数中,必须要写成<form name="XXX" >。
2、return fsubmit(sqform) form名字作为参数传递给js的某个方法。
3、document.sqform与sqform 有什么不同?document是做什么用的?