JQuery yibutijiaobiaodan

本文介绍了一个使用 jQuery 的 AJAX 异步提交表单数据的实战案例,包括 HTML 表单、JavaScript 代码及后端处理逻辑。同时展示了如何通过 AJAX 执行批量添加操作,并返回处理结果。

利用jquery的ajax 异步提交表单数据demo,

导入相关的两个jquery的js包。


index.html

<html>
<head>
	<script type ="text/javascript" src="jquery.js"></script>
	<script type ="text/javascript" src="jquery.form.js"></script>
</head>
<body>
<script>   
    $(function() {    
	    $("input[type='button']").bind("click", function() {  

	 		$.ajax({
			    type : 'post',
			    url : 'servlet/ServletDemo',
			    dataType : 'text',
			    data : $('#f1').serialize(),
			    success : function (xmlq) {
			        alert(xmlq);
			    },
			    error : function (xmlq, errq) {
			        alert(errq);
			    }
			});
			
	     }); 
    });  

      
</script>   

<form name="f1" id="f1" action="/servlet/ServletDemo">
	<input type="text" name="username"/>
	<input type="text" name="age"/>
	<input type="button" value="Ajax请求" />  
</form>

</body>
</html>

ServletDemo.java(Servlet)

public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		PrintWriter out = response.getWriter();
		out.println(request.getParameter("username"));
		out.println(request.getParameter("age"));
		out.flush();
		out.close();
	}

web.xml

 <servlet>
    <description>This is the description of my J2EE component</description>
    <display-name>This is the display name of my J2EE component</display-name>
    <servlet-name>ServletDemo</servlet-name>
    <servlet-class>com.xiami.demo.servlet.ServletDemo</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>ServletDemo</servlet-name>
    <url-pattern>/servlet/ServletDemo</url-pattern>
  </servlet-mapping>

http://www.helloweba.com/view-blog-166.html  先进参照



【个人】实际运用

前端

<form id="queryForm" name="queryForm" method="post" action="mag_alumni_add_list.jsp" >
    <input type="hidden" id="class_info_id" name="class_info_id" value="<%=classInfoId %>" />
    <input type="hidden" id="obj_group_id" name="obj_group_id" value="<%=objGroupId %>" />
    <input type="hidden" id="is_sel" name="is_sel" value="N" />
    <div id="searchContent">
        <ul>
            <li>员工编号:<input type="text" class="txt" style="width:120px" id="user_name" name="user_name" value="<%="%".equals(userName)?"":userName %>" /></li>
            <li>姓名:<input type="text" class="txt" style="width:120px" id="u_name" name="u_name" value="<%="%".equals(uName)?"":uName %>" /></li>
            <li>公司/部门:
            	<select id="selCompany" name="selCompany" class="select" style="width:100px">
                        <option value="-1">请选择</option>
<% 
              for(int i=0,allcom=ls_company.size();i<allcom;i++){
            	  String[] comArr = (String[])ls_company.get(i);
%>
                        <option value="<%=comArr[0] %>" <%=companyId.equals(comArr[0])?"selected=\"selected\"":"" %> ><%=comArr[1] %></option>
<%            }                       %>
                </select>
            </li>
            <li><input type="button" class="btn" value="查询" onclick="selInfo()" /></li>
           <li><input type="button" class="btn" value="批量添加" id="arrAdd"/></li>  <!--  <span style="font-family: Arial, Helvetica, sans-serif;">//---------------此处注意 </span><span style="font-family: Arial, Helvetica, sans-serif;">--></span>
    	</ul>
        <div class="clear"></div>
    </div>
	<div id="btnContent">
	</div>
	<div class="clear"></div>
	<div>
    <table border="0" align="center" cellpadding="0" cellspacing="1" width="99%" class="table" >
        <tr>
        		<th width="40px" style="text-aglin:left">序号</th>
            <th width="60px"> 员工编号</th>
            <th width="50px" >姓名</th>
            <th width="70px">公司/部门</th>
            <th width="65px">二级部门/单位</th>
            <th width="60px">职务</th>
            <th width="60px">手机</th>
            <th width="80px">邮箱</th>
            <th width="55px">操作</th>
        </tr>
<%  
        int recordNum = userList.size();
        if(recordNum > 0){
            for(int i=0; i<recordNum; i++){
        	    String[] userArr = (String[])userList.get(i);
%>        
        <tr>
        		<td style="text-aglin:left"><input type="checkbox" id="checkItem" name="checkItem" value="<%=userArr[0] %>"/> <%=userArr[12] %></td>
            <td><%=userArr[1] %></td>
            <td><%=userArr[2] %></td>
            <td><%=userArr[3] %></td>
            <td><%=userArr[4]==null?"":userArr[4]%></td>
            <td><%=userArr[5] %></td>
            <td><%=userArr[6] %></td>
            <td><%=userArr[7] %></td>
            <td><a href="javascript:void(0)" onclick="InsUserToGroup(<%=userArr[0] %>)" >添加</a></td>
        </tr>
        
     </table>
    </form>

js代码

 $(function(){   
     //批量添加学员     
		  $("#arrAdd").click(function(){
		   var classId="<%=classInfoId%>";
    	 var objGroupIdJs="<%=objGroupId%>";
    	  var ajax_url = "manager_config_group_do.jsp?opration=upArrUserGroup&class_id="+classId+"&obj_group_id="+objGroupIdJs+""; //表单目标 
		    var ajax_data = $("#queryForm").serialize(); //表单数据 ---------------------此处注意
				if($(":checkbox[name=checkItem]:checked").length > 0){ 
				    $.ajax({ 
				     type:'post', //表单提交类型 
				     url:ajax_url, //表单提交目标 
				     data:ajax_data, //表单数据
				     success:function(data,textStatus){
				      if(data.isSuccess = "Y"){
										 alert("添加成功!");	
										 //window.location.reload();
										 window.location.href="mag_alumni_add_list.jsp?class_info_id="+classId+"&obj_group_id="+objGroupIdJs;
				      }else{
				       alert($.trim(data.msg));
				      }
				     },
				     error : function(XMLHttpRequest, textStatus, errorThrown){
							alert("服务器异常,error:" + errorThrown);    	    		
				     } 
				    }); 
				}else{	
							alert("请选择操作对象。");
           		return false;
        }
		   });    
		});	  



handle   xxdo处理页面

 }else if("upArrUserGroup".equals(opration)){
	    	 String classId = request.getParameter("class_id");
	    	 String[] user_id = request.getParameterValues("checkItem");
	    	 boolean result=false;
		    	if(!"null".equals(objGroupId)){
		    			if(user_id!=null&&user_id.length>0){
					    		   for(int i=0;i<user_id.length;i++){
					    		   	StringBuffer sqlInfo = new StringBuffer();
								    	sqlInfo.append(" UPDATE s_class_user SET group_id = ?,user_group_order_id = s_class_order_seq.nextval ")
								    			   .append("  WHERE TYPE='N' AND class_info_id = ? AND ID = ? ");
								    	String[] sqlParam = new String[]{objGroupId,classId,user_id[i]};
								    	result=DaoHelper.modifyEntity(sqlInfo.toString(),sqlParam);
					    		   }   
		    		   }
			    		if(result){
			    			out.print("{\"isSuccess\":\"Y\",\"msg\":\"\"}");
			    		}else{
			    			out.print("{\"isSuccess\":\"N\",\"msg\":\"学员分组添加失败!\"}");
			    		}
		    	}else{
		    		out.print("{\"isSuccess\":\"N\",\"msg\":\"学员ID不存在\"}");
		    	}		
	    }


排序算法的一些技巧

初始     上移          下移


列表是升序
1         5             1
2         4             2
3         3             3
4         2             4
5         1             5
上移 倒序 取比本身小的数据
下移 升序 取比本身大的数据



列表是倒序
5         1             5
4         2             4
3         3             3
2         4             2
1         5             1
上移 升序 取比本身大的数据
下移 倒序 取比本身小的数据

源码链接: https://pan.quark.cn/s/fa13cd6c6c8d Chrome浏览器作为一款备受青睐的网页浏览器,凭借其出色的稳定性和运行速度获得了广泛认可。 然而出于安全考量,Chrome系统默认不兼容ActiveX插件,因为ActiveX技术主要应用于Internet Explorer,它赋予网页内容与用户本地系统交互的能力,但同时也可能引发潜在的安全隐患。 不过在某些特定工作场景下,比如在企业内部网络环境或需要与老旧应用程序整合时,可能仍需在Chrome中启用ActiveX控件。 为此我们必须掌握在Chrome浏览器下加载和运用ActiveX的方法。 首先需要明确ActiveX的本质。 ActiveX是由微软设计的一种技术框架,旨在开发可在网页环境中运行的控件,这些控件能够完成多种功能,包括视频播放、应用程序组件运行或与硬件设备通信等。 ActiveX控件多以OCX(OLE控件)格式发布。 在Chrome浏览器中启用ActiveX需要采取额外措施,因为该浏览器本身并不支持此项技术。 以下是几种常见的解决方案: 1. **应用Chrome的兼容性设置**:部分Chrome版本提供了" --enable-internal-activex"命令行参数,可通过此参数使浏览器具备加载ActiveX控件的能力。 用户可在启动Chrome时,于快捷方式的目标路径后附加该参数来激活此功能。 例如:"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --enable-internal-activex。 2. **安装第三方插件**:市面上存在一些第三方插件,例如"IE Tab"或"ActiveX Con...
标题SpringBoot与微信小程序结合的健康饮食平台研究AI更换标题第1章引言介绍健康饮食平台的研究背景、意义、国内外研究现状、论文方法及创新点。1.1研究背景与意义阐述健康饮食平台在当前社会的重要性及其市场需求。1.2国内外研究现状分析国内外健康饮食平台的发展现状及趋势。1.3研究方法及创新点概述本文采用的研究方法和技术创新点。第2章相关理论总结健康饮食、SpringBoot及微信小程序的相关理论。2.1健康饮食理论介绍健康饮食的基本原则和营养学知识。2.2SpringBoot框架阐述SpringBoot框架的特点、优势及在项目中的应用。2.3微信小程序技术介绍微信小程序的开发技术、特点及其用户群体。第3章健康饮食平台设计详细介绍健康饮食平台的设计方案,包括前端和后端设计。3.1平台架构设计给出平台的整体架构、模块划分及交互流程。3.2数据库设计介绍数据库的设计思路、表结构及数据关系。3.3前后端交互设计阐述前后端数据交互的方式、接口设计及安全性考虑。第4章微信小程序实现介绍微信小程序的具体实现过程,包括页面设计、功能实现等。4.1页面设计与布局给出微信小程序的页面设计思路、布局及交互效果。4.2功能实现与测试详细介绍微信小程序各项功能的实现过程及测试方法。4.3用户体验优化阐述如何提升微信小程序的用户体验,包括界面优化、性能优化等。第5章平台测试与优化对健康饮食平台进行测试,并根据测试结果进行优化。5.1测试环境与数据介绍测试环境、测试数据及测试方法。5.2测试结果分析从功能、性能、用户体验等方面对测试结果进行详细分析。5.3平台优化策略根据测试结果提出平台优化策略,包括代码优化、功能改进等。第6章结论与展望总结本文的研究成果,并展望未来的研究方向。6.1研究结论概括本文的主要研究结论和平台实现效果。6.2展望指出本文研究的不足之处以及未来研究的方向和改进点。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值