Jquery 异步提交表单(post)
2023-09-14 09:00:23 时间
表单的action,method属性都没有
input 的类型只能为button不能为submit只能为button,否则点击button会执行表单action,不会走jquery异步
前台代码
script type="text/javascript" $(function() { //异步提交表单 $("#save").click(function(){ $.post("${ctx}/order/save.action",$("#form1").serialize(),function(data){ if(data=="true") { alert ("备注保存成功"); } /script form id="form1" input type="hidden" name ="oid" value="${orderVo.id}" textarea name ="remark" id ="text" rows="3" cols="140" ${orderVo.remark} /textarea input id="save" type="button" value="保存" /
后台代码:
public void save(){ PrintWriter out=null; try { System.out.println(oid); System.out.println(remark); orderService.saveRemark(oid,remark); HttpServletResponse response=ServletActionContext.getResponse(); out=response.getWriter(); out.print(true); out.flush(); out.close(); } catch (Exception e) { e.printStackTrace(); out.flush(); out.close(); out.println(0); }
webx框架
velocity模板实现代码
分页bean
package com.alibaba.uyuni.biz.common.bo.dto; import java.io.Serializable; import com.alibaba.uyuni.common.enums.NumEnum; * 类Page.java的实现描述:TODO 类实现描述 * @author 杨冬 2014年8月21日 下午1:19:25 public class UyuniPage T implements Serializable { /** * */ private static final long serialVersionUID = 8104777827863916550L; /** 每页显示记录数 **/ private Integer pageSize; /** 查询的集合 **/ private T data; /** 总页数 **/ private int totalPage; /** 当前页,第几页 **/ private Integer pageIndex; /** 总记录数 **/ private Integer totalNum; /** 是否有下页 **/ private boolean hasNextPage = false; /** 是否有上页 **/ private boolean hasPreviousPage = false; /** * @param pageSize 每页条数 * @param pageIndex 当前页,第几页 * @param totalNum 总记录数 * @param data 查询的集合 */ public UyuniPage(Integer pageSize, Integer pageIndex, Integer totalNum, T data){ super(); if (pageSize == null || pageSize == 0) { pageSize = NumEnum.FIVE.getValue(); } if (pageIndex == null || pageIndex == 0) { pageIndex = NumEnum.ONE.getValue(); } if (totalNum == null || totalNum == 0) { totalNum = 0; } this.pageSize = pageSize; this.data = data; // pageSize==0会报错 this.totalPage = (totalNum % pageSize == 0) ? (totalNum / pageSize) : (totalNum / pageSize + 1); this.pageIndex = (pageIndex == 0) ? (1) : (pageIndex); this.totalNum = totalNum; this.hasNextPage = (this.totalPage 1 this.totalPage this.pageIndex); this.hasPreviousPage = (this.pageIndex } /** * @return the pageSize */ public Integer getPageSize() { return pageSize; } /** * @param pageSize the pageSize to set */ public void setPageSize(Integer pageSize) { this.pageSize = pageSize; } /** * @return the data */ public T getData() { return data; } /** * @param data the data to set */ public void setData(T data) { this.data = data; } /** * @return the totalPage */ public int getTotalPage() { return totalPage; } /** * @param totalPage the totalPage to set */ public void setTotalPage(int totalPage) { this.totalPage = totalPage; } /** * @return the pageIndex */ public Integer getPageIndex() { return pageIndex; } /** * @param pageIndex the pageIndex to set */ public void setPageIndex(Integer pageIndex) { this.pageIndex = pageIndex; } /** * @return the totalNum */ public Integer getTotalNum() { return totalNum; } /** * @param totalNum the totalNum to set */ public void setTotalNum(Integer totalNum) { this.totalNum = totalNum; } /** * @return the hasNextPage */ public boolean isHasNextPage() { return hasNextPage; } /** * @param hasNextPage the hasNextPage to set */ public void setHasNextPage(boolean hasNextPage) { this.hasNextPage = hasNextPage; } /** * @return the hasPreviousPage */ public boolean isHasPreviousPage() { return hasPreviousPage; } /** * @param hasPreviousPage the hasPreviousPage to set */ public void setHasPreviousPage(boolean hasPreviousPage) { this.hasPreviousPage = hasPreviousPage; } /** * @return the serialversionuid */ public static long getSerialversionuid() { return serialVersionUID; } }
vm页面
script src="http://libs.baidu.com/jquery/2.0.0/jquery.js" /script script type="text/javascript" $(function() { $("#confirm").click(function(){ var studentId=$("#studentId").val(); if(studentId==""){ alert("新增学生"); $.ajax({ url:"/project/studentRpc/newStudent.json", type:"post", data:$(#studentform).serialize(), dataType: json, success:function(data){ var isAdd= data.content.successed; if(isAdd==true){ alert("新增成功"); window.location.reload(); } } }); }else{ //更新学生 $.ajax({ url:"/project/studentRpc/"+studentId+"/updateStudent.json", type:"post", data:$(#studentform).serialize(), dataType: json, success:function(data){ var isDeleted= data.content.successed; if(isDeleted==true){ alert("更新成功"); window.location.reload(); } } }); } }) }) /script /head body #if(${studentDto.id}) #else form id="studentform" input id="studentId" type="hidden" name="id" value="$!studentDto.id" br 姓名 input type="text" name="name" value="$!studentDto.name" br 年龄 input type="text" name="age" value="$!studentDto.age" br 性别 input type="text" name="sex" value="$!studentDto.sex" br 年级 input type="text" name="grade" value="$!studentDto.grade" br 班级 input type="text" name="team" value="$!studentDto.team" br 老师 input type="text" name="teacher" value="$!studentDto.teacher" br /form button id="confirm" 提交 /button /body
buttom标签必须放到form标签外面,否则点击button会执行表单action,不会走绑定的异步事件
分页显示页面
#set($nextpage=$pb.pageIndex + 1) #set($previouspage=$pb.pageIndex - 1) #if($pb.hasPreviousPage == true) a href="/project/student/studentshow.htm?pageIndex=$previouspage" 上一页 /a #if($pb.hasNextPage == true) a href="/project/student/studentshow.htm?pageIndex=$nextpage" 下一页 /a #foreach(${studentDto} in ${result}) tr td ${studentDto.id} /td td ${studentDto.name} /td td ${studentDto.age} /td td ${studentDto.sex} /td td ${studentDto.grade} /td td ${studentDto.team} /td td ${studentDto.teacher} /td td a href="/project/student/form.htm?studentId=${studentDto.id}" 编辑 /a /td td a href="javascript:void(0);" onclick = "return delStudent(${studentDto.id});" 删除 /a /td /tr br #end a href="/project/student/form.htm" 新增 /a /div
vm做加减运算必须在set标签里面做,且运算符两边必须有空格
#set($a=10) #set($b=$a - 1) ------------ span $b /span
不能直接像freemaker一样 ${b-1}
http://liu400liu.iteye.com/blog/1197466
参考文章:
http://1194867672-qq-com.iteye.com/blog/1945827
本文出自 “点滴积累” 博客,请务必保留此出处http://tianxingzhe.blog.51cto.com/3390077/1682600
相关文章
- jQuery显示隐藏密码插件jquery.toggle-password演示
- jquery中事件委派代码分析以及jQuery中delegate和on的用法与区别详细解析
- 第二百零七节,jQuery EasyUI,MenuButton(菜单按钮)组件
- JQuery 选中Radio
- jquery模板下载网站
- 电子签章盖章之jQuery插件jquery.zsign
- XML Parsing with jQuery 【转】
- Dom对象和Jquery对象区别详解
- Jquery ajax调用webservice总结
- 10款jQuery文本高亮插件
- jquery绑定事件的坑,重复绑定问题
- 白学jquery Mobile《构建跨平台APP:jQuery Mobile移动应用实战》连续7-电话问卷调查
- python web py入门(52)- jQuery - $("").html()实现在页面提示信息
- JQuery里的原型prototype分析
- jQuery on()方法
- 【jQuery】jQuery操作之如何绑定事件_05