`

jQuery中整个Ajax的提交,form表单,以及json

阅读更多

-----form表单

function formSend(form1,callback,params){
   if(params)
       injectParams(form1,params);
  
   if(form1.enctype != "multipart/form-data")
        jQuery.post(form1.action,$(form1).serialize(),function(jsonobj){
               if(jsonobj.exception){
                   alert("Error:"+jsonobj.msg);
                   return;
               }
               if(callback)
                  callback(jsonobj);
        },"json");
    else
        formSubmit(form1,callback);

}

 

-----提交到jframe

function formSubmit(form1,callback){

  if(  $("iframe[name=resultframe]").size()==0 ){
      $("body").append('<iframe name="resultframe" width="0px" height="0px"></iframe>');
  }
  if(callback)
  iframeCallback = callback;

  form1.target = "resultframe";
  form1.submit();
   
}
原始。jsp:
<iframe name="frame" style="display:none" width="300" height="300"></iframe>
<script type="text/javascript">
     function sureexam(){
      document.getElementById("kks").target="frame";
      document.getElementById("kks").submit();
      $("#queding").hide();
</script>

跳转到的iframe:
<%@ page contentType="text/html; charset=gbk"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<script type="text/javascript">
<s:if test="flag==true">
window.parent.document.getElementById("loginForm").submit();
</s:if>
<s:else>
window.parent.showdiv();
</s:else>
</script>
判断传过来的值,然后跳转到相应的页面,就是涮新ifram,但是原始的没有提交。

 

 

------本页面的进去jQuery的ajax

 

 

function processParams(params){
     var rparams = "";
       if(params)
       for(var prop in params){
           var pvalue = params[prop];
           if( $.isArray(pvalue) ){
               for(var i=0;i<pvalue.length;i++){
                   var obj = pvalue[i];
                   if("object" == typeof obj){
                       for(var oprop in obj){
                           rparams += "&"+prop+"["+i+"]."+oprop+"="+ encodeURIComponent(obj[oprop]);
                       }
                   }else{
                       rparams += "&"+prop+"="+encodeURIComponent(obj)
                   }
               }
           }else{
               rparams += "&"+prop+"="+encodeURIComponent(pvalue);
           }
       }
  
       return rparams;
}

function injectParams(form1,params){
    if(params)
       for(var prop in params){
           var pvalue = params[prop];
           if( $.isArray(pvalue) ){
               for(var i=0;i<pvalue.length;i++){
                   var obj = pvalue[i];
                   if("object" == typeof obj){
                       for(var oprop in obj){
                           $("<input type=hidden name='"+prop+"["+i+"]."+oprop+"'>").val(obj[oprop]).appendTo($(form1));
                       }
                   }else{
                       $("<input type=hidden name='"+prop+"'>").val(obj).appendTo($(form1));
                   }
               }
           }else{
           $("<input type=hidden name='"+prop+"'>").val(pvalue).appendTo($(form1));
           }
       }

}

function actionCall(action,params,callback){

    params = processParams(params);

   jQuery.post(action,params,function(jsonobj){
    if(jsonobj.exception){
     alert("Error:"+jsonobj.msg);
     return;
    }
    if(callback)
    callback(jsonobj);

 },"json");

}

function formSend(form1,callback,params){
   if(params)
       injectParams(form1,params);
  
   if(form1.enctype != "multipart/form-data")
        jQuery.post(form1.action,$(form1).serialize(),function(jsonobj){
               if(jsonobj.exception){
                   alert("Error:"+jsonobj.msg);
                   return;
               }
               if(callback)
                  callback(jsonobj);
        },"json");
    else
        formSubmit(form1,callback);

}

function formSubmit(form1,callback){

  if(  $("iframe[name=resultframe]").size()==0 ){
      $("body").append('<iframe name="resultframe" width="0px" height="0px"></iframe>');
  }
  if(callback)
  iframeCallback = callback;

  form1.target = "resultframe";
  form1.submit();
   
}

var iframeCallback = function(){
    alert("iframeCallback is called!");
};

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics