1.jsp,ajax的循环调用,必须要递归,否则会出错。

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>My JSP 'Scoreinsert.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<script type="text/javascript" src="js/jquery.js"></script>
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
--> </head>
<script type="text/javascript"> function sub(i)
{ var a = $("table tr").eq(i).children("td").eq(0).children().val();
var b = $("table tr").eq(i).children("td").eq(0).children().eq(1).val();
var c = $("table tr").eq(i).children("td").eq(1).children().val();
var d = $("table tr").eq(i).children("td").eq(2).children().val();
var e = $("table tr").eq(i).children("td").eq(3).children().val();
aja2(a,b,c,d,e,i);
}
function aja2(a,b,c,d,e,i){ $.ajax({
url:'BatchScoreSave.action',
type:'POST', //GET
async:true, //或false,是否异步
data:{
classs:a,
course:b,
number:c,
name:d,
scores:e
},//提交表单数据,也可以直接用data:$('#form').serialize(),
timeout:5000, //超时时间
dataType:'json', //返回的数据格式:json/xml/html/script/jsonp/text
success:function(data){
//console.log(data);
console.log('成功');
if(i<$("table tr").length-1){
i++;
sub(i); }
},
error:function(xhr,textStatus){
console.log('错误');
},
}); } </script>
<body>
<s:property value="classs"/>班<s:property value="course"/>成绩录入 <table cellpadding="10" border="1">
<tr>
<th>班级</th>
<th>学号</th>
<th>姓名</th>
<th>成绩</th>
<th>操作</th>
</tr>
<s:iterator value="scorelist">
<tr>
<form action="ScoreSave.action">
<td><input type="text" name="classs" value='<s:property value="id.classs"/>' size="4" readonly="readonly" style="border: 0">
<input type="text" name="score.id.course" value='<s:property value="id.course"/>' style="display:none;"></td>
<td><input type="text" name="score.id.number" value='<s:property value="id.number"/>' size="4" readonly="readonly" style="border: 0"></td>
<td><input type="text" name="score.id.name" value='<s:property value="id.name"/>' size="4" readonly="readonly"style="border: 0"></td>
<td><input type="text" name="score.id.score" value='<s:property value="id.score"/>' size="4"style="border: 0" onkeyup="this.value=this.value.replace(/\D/g,'')"></td>
<td><input type="submit" value="保存"></td>
</form>
</tr>
</s:iterator>
</table>
<input type="button" value="提交" onclick="sub(1)"> </body>
</html>

 2.action,就是简单的一条数据一条数据的保存,一定有get和set,注意Spring注入不能写get,会报错。

public String BatchScoreSave() throws Exception{
score = new Score();
score.setId(new ScoreId());
score.getId().setClasss(classs);
score.getId().setCourse(course);
score.getId().setNumber(number);
score.getId().setName(name);
score.getId().setScore(scores);
mgr.Scoresave(score); return SUCCESS;
}

 3.struts.xml

<package name="aaa" extends="json-default">

  

<action name="BatchScoreSave" class="ScoreAction" method="BatchScoreSave">
<result name="success" type="json">
<param name="root"></param>
</result></action>

4.结果截图

data:$('#form').serialize(),

Ajax写成绩批量录入的更多相关文章

  1. Ajax些成绩批量录入

    1.jsp,ajax的循环调用,必须要递归,否则会出错. <%@ page language="java" import="java.util.*" pa ...

  2. 批量录入快递地址-快宝地址服务(PHP代码示例)

    快递地址写错了怎么办?快递地址写的不详细怎么办?怎么皮批量录入收件人地址?微商怎么批量录入发件人地址?快宝地址清洗,有效的解决了寄送快递时,批量录入收件人信息.发件人信息时,纠正地址数据,不完整地址识 ...

  3. SpringMVC+Ajax实现文件批量上传和下载功能实例代码

    需求: 文件批量上传,支持断点续传. 文件批量下载,支持断点续传. 使用JS能够实现批量下载,能够提供接口从指定url中下载文件并保存在本地指定路径中. 服务器不需要打包. 支持大文件断点下载.比如下 ...

  4. 第五天.权限批量录入/更新、信号、Django日志配置

    1. 角色.菜单.权限的增删该查 1. ModelForm增删改查 2. 增加和编辑使用同一个视图函数 Form() 1. 生成获取用户输入的标签 2. 对用户输入的内容做校验 3. 保留输入的内容同 ...

  5. ajax 写登录

    AJAX的全称是Asynchronous JavaScript and XML(异步的 JavaScript 和 XML). ajax的优点: 1.最大的一点是页面无刷新,用户的体验非常好. 2.使用 ...

  6. php jquery+ajax写批量删除

      为了美观,我还是引入了bootstrap的模态框,我引入的是自己的数据库 library中的一张表 名为:maninfo表 是一张个人信息表  表的加载我就不写了,比较简单,  大概写一下需要的按 ...

  7. python动态网页爬取——四六级成绩批量爬取

    需求: 四六级成绩查询网站我所知道的有两个:学信网(http://www.chsi.com.cn/cet/)和99宿舍(http://cet.99sushe.com/),这两个网站采用的都是动态网页. ...

  8. 使用php ajax写省、市、区、三级联动

    题目要求: 要求:写一个省市区(或者年月日)的三级联动,实现地区或时间的下拉选择. 实现技术:php ajax 实现:省级下拉变化时市下拉区下拉跟着变化,市级下拉变化时区下拉跟着变化. 使用china ...

  9. Ajax写分页查询(实现不刷新页面)

    获取数据库中大量的信息显示在页面上,必然要使用到分页查询: 若不使用Ajax,而是用其他的方法,肯定是要刷新页面的,用户体检很不好, 所以最好使用Ajax的方法写分页查询: 1.先来找一张数据很多的表 ...

随机推荐

  1. java 操作elasticsearch之搭建测试项目环境

    在创建项目之前请确认maven是否安装好,在此我是以环境都搭建好的情况下进行示范,现在以eclipse开发工具为例,具体操作如下: 1.创建maven项目 File - new -other 2.在p ...

  2. Java设计模式之十一 ---- 策略模式和模板方法模式

    前言 在上一篇中我们学习了行为型模式的访问者模式(Visitor Pattern)和中介者模式(Mediator Pattern).本篇则来学习下行为型模式的两个模式,策略模式(Strategy Pa ...

  3. leetcode 7. Reverse Integer [java]

    public int reverse(int x) { long res = 0; while (x != 0){ res = res* 10 + x % 10; x /= 10; } if(res ...

  4. PyQt5 + QtDesigner

    看到网上蛮多介绍做界面开发时可以借助QtDesigner进行快速完成布局,搞了半天在电脑里却找不到该工具,网上查了一下,原来是要额外安装一个pyqt5的工具包,下面结合亲身一步一步操作记录下来,也方便 ...

  5. <20190103>别傻了,一些 新的技术注定只适合新人

    故障现象:    用vmware跑的虚拟机不兼容 某银行网银的U盾. 插入usb口后无法识别U盾, 解决过程: 1  更换2台各自不同电脑, 使用前置USB口, 后置USB口.  故障依旧. 2  使 ...

  6. 理解OSI参考模型

    在一个视频网站上不小心搜到网络知识的视频,突然以前大学的没有真正接受的知识点,一下子豁然开朗,赶紧整理了下笔记. 一.OSI参考模型 自下而上:物理层(物理介质,比特流).数据链路层(网卡.交换机). ...

  7. python六十一课——高阶函数之reduce

    2).reduce(fn,lsd): 参数一:fn --> 函数对象 参数二:lsd --> 序列对象 功能: 先将lsd中的第一和第二个元素去除传入到fn中参与运算, 运算后得到结果,再 ...

  8. API与软件架构-接口

    http://blog.csdn.net/horkychen/article/details/46612899 从架构设计的角度来看(所谓的组成论),软件系统就是模块和接口. 模块(层次/组件)决定分 ...

  9. [MySQL学习]STRICT_ALL_TABLES相应的OUT of RANGE VALUE FOR COLUMN和DATA truncated FOR COLUMN

    版权声明:声明:本文档能够转载,须署名原作者. 作者:无为 qq:490073687 周祥兴 zhou.xiangxing210@163.com https://blog.csdn.net/Rooki ...

  10. js深度克隆对象

    js深度克隆对象 js深度克隆对象简单的记录一下,如下代码: var obj = { typeOf: function(obj) { const toString = Object.prototype ...