引: 【堅持每天進步一點。想學英語?你只需要每天記住一個單詞,一個文法就行了。十年時間你似乎可以當專家了。
】
內容: 以往在編寫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是做什麼用的?