jQuery使用笔记

来源:互联网 发布:js初始化二维数组 编辑:程序博客网 时间:2024/06/01 07:58
1.jquery 的ajax怎么提交所有表单数据

$.ajax({
    type:'post',
    url:'tetForm.do',
    data:$('#form1').formSerialize(),
    success: function(msg){
     alert(msg);
    }
var data = $('#formId').formSerialize()
将表单串行化(或序列化)成一个查询字符串。这个方法将返回以下格式的字符串:name1=value1&name2=value2。





2.jquery 的ajax怎么提交多个指定参数数据
$.ajax({
           type:'post',
           url:'issue/transfer/getNewInfo.action',
           data:'id='+content&'name='+name,
           dataType: "json",
           success: function(data){//成功的回调函数
               $("#resultDiv").empty();
               if(data.length==0){
               }else{
                   for(var i=0;i<data.length;i++){
                       alert(data[i].BROKERID);
                       $("#resultDiv").append("<div>"+data[i].BROKERID+"</div>");
                   }
               }
          
           },
           error : function(msg){//失败的回调函数

           }
       });

注意:现在返回的json数据有格式要求,不然前台无法解析,一些规则如下:
     1)键名称:用双引号括起
  2)字符串:用使用双引号括起
  3)数字,布尔类型不需要使用双引号括起 

注意:如果表单序列化乱码,处理如下:
jquery之提交序列化表单(serialize)及乱码处理

1 提交乱码处理
JSP文件声明如下

[html] view plain copy
- <%@ page language="java" pageEncoding="UTF-8"%>
-
- <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>

永久的处理方式:
修改jquery1.4.3.js源代码解决:
找到:
  contentType: application/x-www-form-urlencoded

替换为:
  contentType: "application/x-www-form-urlencoded;charset=UTF-8"

要不然,每个请求前都要加

[html] view plain copy
- contentType: "application/x-www-form-urlencoded;charset=UTF-8"

[html] view plain copy
- $("#search_btn1").click(function(){
-             var submitData = $('#searchForm1').serialize();
-             alert(submitData);
-             $.ajax({
-                 type: "POST",
-                 dataType: "json",
-                 contentType: "application/x-www-form-urlencoded;charset=UTF-8",
-                 url: '${pageContext.request.contextPath}/jsonparam/getForm',
-                 data: $('#searchForm1').serialize(),
-                 success: function (data) {
-                     var f = data.success;
-                     if (data.success == true) {
-                         var retlist = data.result;
-                         alert(retlist.length);
-                       }
-                 },
-                 error: function(data) {
-                     alert("error:"+data.responseText);
-                  }
-
-             });
-     });

2 从后台返回中文字符串,前台报错或者为乱码的处理
示例代码:添加发送信息前添加头部编码:
response.setCharacterEncoding("UTF-8");
//response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
out.print("测试");

如果是用jquery.form.js提交form所产生的乱码:
找到这个jquery.form.js,将

[html] view plain copy
- var mp = 'multipart/form-data';

修改成:

[html] view plain copy
- var mp = 'multipart/form-data;charset=UTF-8';

使用$param的方法进行序列化的时候,是乱码的话,修改jquery-1.4.4.min.js
先搜索到:param:function
将里面的 encodeURIComponent改成
decodeURIComponent
3.jQuery的若干实用小方法总结
     1.禁用组件与不禁用组件:
                    $( "#btn_pass").attr( 'disabled' ,"true" );
                    $( "#btn_pass").removeAttr( "disabled" );

          2.清空,隐藏
     
                    $( "#resultDiv").empty();
                    $( "#resultDiv" ).hide();
          3.下拉动画
          
                    $( "#resultDiv").slideDown(700);

          4.追加组件
               
                    $( "#resultDiv").append( "<a href='javascript:return false' onclick=setVal('"+vl+ "','" +NAME+"','" +TELEPHONE+ "','"+FIRMID+ "','" +MEMBERTYPE+"')>" +vl+ "</a><br>");
0 0
原创粉丝点击