天天看點

js中建立form表單

有的時候需要在js中建立form向controller送出資料,下面是在工作中遇到的一些問題和解決辦法:

簡單的用jquery建立form:

函數封裝送出:

其中args為格式:{key:value,key1:valye2…},可以一個參數一個參數傳,也可以直接傳一個jsonString, 在controller中再轉化為map,個人更喜歡後一種方法,直接用json的序列化工具(jsonmapper之類),反序列為map,再取值。

上面兩種都是jquery建立form,在chrome下可正常使用,但是在firefox下不行,百度之,發現原因是:

經過研究發現,FireFox在送出頁面表單時要求頁面有完整的标簽項,即<code>&lt;html&gt;&lt;head&gt;&lt;title&gt;&lt;/title&gt;&lt;/head&gt;&lt;body&gt;&lt;form&gt;&lt;/form&lt;/body&lt;/html&gt;</code>這樣的标簽結構

解決方法很簡答,給把建立的form添加到一個現存節點即可。

上面的函數修改後代碼如下:

另外還有一個問題,就是關于送出資料後是從本頁面跳轉還是新打開頁面

繼續閱讀