js中创建form表单
生活随笔
收集整理的這篇文章主要介紹了
js中创建form表单
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
有的時候需要在js中創建form向controller提交數據,下面是在工作中遇到的一些問題和解決辦法:
簡單的用jquery創建form:
var form = $("<form method = 'post'></form>"); var input = $("<input type='hidden' name='name' value="+data+">"); form.append(input); form.submit;函數封裝提交:
function StandardPost (url,args) {var form = $("<form method='post'></form>");form.attr({"action":url});for (arg in args){var input = $("<input type='hidden'>");input.attr({"name":arg});input.val(args[arg]);form.append(input);}form.submit(); }其中args為格式:{key:value,key1:valye2…},可以一個參數一個參數傳,也可以直接傳一個jsonString, 在controller中再轉化為map,個人更喜歡后一種方法,直接用json的序列化工具(jsonmapper之類),反序列為map,再取值。
上面兩種都是jquery創建form,在chrome下可正常使用,但是在firefox下不行,百度之,發現原因是:
經過研究發現,FireFox在提交頁面表單時要求頁面有完整的標簽項,即<html><head><title></title></head><body><form></form</body</html>這樣的標簽結構
解決方法很簡答,給把新建的form添加到一個現存節點即可。
上面的函數修改后代碼如下:
另外還有一個問題,就是關于提交數據后是從本頁面跳轉還是新打開頁面
可參見: http://blog.csdn.net/natian306/article/details/21527369
總結
以上是生活随笔為你收集整理的js中创建form表单的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java设计模式(六)----适配器模式
- 下一篇: 2016蘑菇街编程题:搬圆桌