JavaScript

超轻量级php框架startmvc

jquery实现动态创建form并提交的方法示例

更新时间:2020-08-29 07:30:01 作者:startmvc
本文实例讲述了jquery实现动态创建form并提交的方法。分享给大家供大家参考,具体如下:

本文实例讲述了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 动态创建 form 提交