jQuery动态创建form表单并提交到后台(携带一定的数据进行页面跳转)
今天遇到这么一个需求,携带一个编号一个名字跳转到另一个JSP页面,直接页面跳转(get携带数据)的话不太安全,于是想到到后台转发一下。
- 第一种:直接以表单提交方式的进行
JS代码:
var form = $("<form action='"+contextPath+"/trainacontentType_forwardToAddTraincontent.action"+"' method='post'></form>")
form.append("<input type='hidden' name='typeId' value='"+$("#trainContentTypeId").val()+"'>");
$(document.body).append(form);
form.submit();
注意上面红色部分的代码,chrome56版本以后修复form提交的bug,form = $('<form></form>')创建好后,要$(document.body).append(form);然后form.submit();
否则会报错: Form submission canceled because the form is not connected
- 第二种:动态创建表单,ajax提交表单
另一种ajax提交的方式不需要上面的 $(document.body).append(form);例如:
//2.如果全部填上就动态封装一个表单,然后提交数据(动态拼装一个表单然后提交)
var form = $("<form method='post' action='XXX'></form>")
var tr = $("#course2AddTbody").children("tr");//获取到tbody
var trainningschemeid = getTrainSchemeId();//培养方案编号
var typenum = $("#trainCourseTypeNum").val();//类别num
alert(trainningschemeid+"----"+typenum);
for(var i=0,length_1 = tr.length;i<length_1;i++){
var courseid = tr.children("td:eq(0)").find("input").val();//课程编号
var semester = tr.children("td:eq(3)").find("input").val();//学期
form.append("<input type='hidden' name='trainCourse["+i+"].trainningschemeid' value='"+trainningschemeid+"'/>");//培养方案编号
form.append("<input type='hidden' name='trainCourse["+i+"].typenum' value='"+typenum+"'/>");//培养方案编号
form.append("<input type='hidden' name='trainCourse["+i+"].courseid' value='"+courseid+"'/>");//培养方案编号
form.append("<input type='hidden' name='trainCourse["+i+"].typenum' value='"+typenum+"'/>");//培养方案编号
}
//提交
$.post("xx",form.serialize(),function () { },'json');
后台代码:(页面中可以用OGNL取Traincontenttype 的属性)
private Traincontenttype traincontenttype;
...get,set.....
/**
* 转发到增加培训内容界面
* @return
*/
public String forwardToAddTraincontent() {
if(ValidateCheck.isNotNull(typeId)){
try {
traincontenttype = traincontenttypeService.getTraincontenttypeById(typeId);
} catch (SQLException e) {
logger.error("查询培训内容类别出错", e);
}
}
return "toAdd";
}
struts2配置:(红色部分是页面跳转的配置)
<!-- S QLQ 增加的培训类别管理 -->
<global-results>
<result name="success" type="json">
<param name="root">response</param>
</result>
</global-results>
<action name="trainacontentType_*" method="{1}" class="traincontentTypeAction">
<result name="toAdd">/view/train/addTrainFile.jsp</result>
</action>
<!-- E QLQ 增加的培训类别管理 -->
参考:http://www.cnblogs.com/hujunzheng/p/5069798.html
jQuery动态创建form表单并提交到后台(携带一定的数据进行页面跳转)的更多相关文章
- js动态创建Form表单并提交
javascript动态创建Form表单和表单项,然后提交表单请求,最后删除表单,代码片段如下(Firefox测试通过): var dlform = document.createElement('f ...
- jquery动态创建form表单
function exportExcel() { var merchantName = $('#merchantName').val(); var merchantNo = $('#merchantN ...
- jQuery Ajax 确定 form 表单 submit 提交成功
使用 jQuery 提交表单,可以使用 同步方式(async: false). a.html 是 html 文件,a.php 是服务端文件,把 a.html 中表单的数据提交到 a.php 中,在提交 ...
- asp.net中通过form表单submit提交到后台的实例
前台<body>中的代码: <body> <div id="top"> </div> <form id="login ...
- JS将文件以form表单一样提交到后台
这是很简单.. HTML <div> <input type="file" id="myfile"> <input type=&q ...
- JS将文件像form表单一样提交到后台
这是很简单.. HTML <div> <input type="file" id="myfile"> <input type=&q ...
- vue+element创建动态的form表单.以及动态生成表格的行和列
动态创建form表单,网上有插件 (form-create) 不过我不知道它怎么用,没有使用成功,如果你使用成功了,欢迎下方留言. 最后我使用了笨方法,针对各个表单写好通用的组件,然后根据type用v ...
- Jquery来对form表单提交(mvc方案)
来自:http://www.cnblogs.com/lmfeng/archive/2011/06/18/2084325.html 我先说明一下,这是asp.net mvc 里面的用法, Jquery来 ...
- form表单 无法提交js动态添加的表单元素问题。。
第一种情况, 这种情况js动态添加的表单元素是不能提交到服务器端的 <table> <form method="post" action=" url ...
随机推荐
- python笔记-tuple元组的方法
#!/usr/bin/env python #-*- coding:utf-8 -*- # 创建空元组 tuple1 = () print(tuple) # 创建带有元素的元组 # 元组中的类型可以不 ...
- VPS搭建***
yum -y install epel-release** yum update yum -y install python-setuptools m2crypto supervisor easy_i ...
- Nuxt.js 基础入门教程
原文链接 Vue 开发一个单页面应用,相信很多前端工程师都已经学会了,但是单页面应用有一个致命的缺点,就是 SEO 极不友好.除非,vue 能在服务端渲染(ssr)并直接返回已经渲染好的页面,而并非只 ...
- Vue之简易的留言板功能
今天我将带大家通过Vue的todolist案例来完成一个简易的网页留言板! LES'T GO! 首先我们需要在页面上搭建一个input文本输入框,并设置提交按钮,通过循环指令来完成输入框的信息提交! ...
- c++ string vector类
//string对象的初始化 #include <iostream> #include <string> //typedef std::basic_string<char ...
- HDU1272小希的迷宫
小希的迷宫 上次Gardon的迷宫城堡小希玩了很久(见Problem B),现在她也想设计一个迷宫让Gardon来走.但是她设计迷宫的思路不一样,首先她认为所有的通道都应该是双向连通的,就是说如果有一 ...
- Java并发模型框架
构建Java并发模型框架 Java的多线程特性为构建高性能的应用提供了极大的方便,但是也带来了不少的麻烦.线程间同步.数据一致性等烦琐的问题需要细心的考虑,一不小心就会出现一些微妙的,难以调试的错误. ...
- SJTU 1077 加分二叉树
http://acm.sjtu.edu.cn/OnlineJudge/problem/1077 题意: 设一个n个节点的二叉树tree的中序遍历为(l,2,3,…,n),其中数字1,2,3…,n为节点 ...
- msconfig.exe
msconfig.exe 编辑 本词条缺少概述.名片图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧! 中文名 微软系统配置实用程序 外文名 msconfig.exe 出品者 Micros ...
- leetcode 【 Pascal's Triangle 】python 实现
题目: Given numRows, generate the first numRows of Pascal's triangle. For example, given numRows = 5,R ...