本文实例讲述了jquery实现动态创建form并提交的方法。分享给大家供大家参考,具体如下:
有时候在写web 应用的时候,需要临时动态构造一个form 并提交,form 里面的参数以及action,以及是post请求还是get请求,甚至form 的样式都是可以指定的,用原生的javascript 肯定可以做到,我用jquery做了一个测试。
我自己测试的是构造一个分页的post请求, 为了防止csrf 攻击,加入了csrf 验证,不需要的可以去掉.
function genSearchObj(url,page,pageSize,keyword){ var params = {}; params.url = url; params.page = page; params.pageSize = pageSize; params.cond = keyword; return params; } function mockFormSubmit(params){ var form = $('<form />', {action : params.url, method:"post", style:"display:none;"}).appendTo('body'); $.each(params, function(k, v) { if ( k != "url" ){ form.append('<input type="hidden" name="' + k +'" value="' + v +'" />'); } }); form.append('<input type="hidden" name="csrfToken" value="' + $("#csrf_token").val() + '" />' ); form.submit(); }
这样就动态构造了一个form ,并提交。
附:js动态创建Form表单并提交的方法
var dlform = document.createElement('form'); dlform.style = "display:none;"; dlform.method = 'post'; dlform.action = '../fileServlet'; dlform.target = 'callBackTarget'; var hdnFilePath = document.createElement('input'); hdnFilePath.type = 'hidden'; hdnFilePath.name = 'filePath'; hdnFilePath.value = filePath; dlform.appendChild(hdnFilePath); document.body.appendChild(dlform); dlform.submit(); document.body.removeChild(dlform);
更多关于jQuery相关内容感兴趣的读者可查看本站专题:《jQuery form操作技巧汇总》、《jQuery操作json数据技巧汇总》、《jQuery常用插件及用法总结》、《jQuery扩展技巧总结》、《jQuery表格(table)操作技巧汇总》及《jquery选择器用法总结》
希望本文所述对大家jQuery程序设计有所帮助。