工作中碰到要把两个form里面的参数同时传递到后台的问题,也就是同时传递多个条件到后台进行处理时怎么办,这是我自己搜索并总结了一下方法,如有更好的欢迎指正:
//当前页显示记录数更改时:$("#pageCount").change(function () { var url="${createLink(controller: '#', action: params.action)}"; var maxValue = $("#pageCount>option:selected").html(); var beginSearchDateValue=$("#beginSearchDate").val(); var endSearchDateValue=$("#endSearchDate").val(); var q2Value=$("#q2").val(); var q4Value = $("#q4").val(); var q5Value = $("#q5").val(); var q6Value = $("#q6").val(); var q7Value = $("#q7").val(); var params={max:maxValue,q2:q2Value,q4:q4Value,q5:q5Value,q6:q6Value,q7:q7Value,beginSearchDate:beginSearchDateValue,endSearchDate:endSearchDateValue} passParamsByPost(url,params); });//两个form中都有多选框时:function selectPRojectItemAndExportcsv() { var subValue=""; var sub1Value=""; var url="${createLink(controller: '#', action: 'exportToExcel')}"; $("input[type='checkbox'][name='sub']:checked").each(function(){ subValue+=this.value + ','; //遍历被选中CheckBox元素的集合 得到Value值 }); $("input[type='checkbox'][name='sub1']:checked").each(function(){ sub1Value+=this.value + ','; //遍历被选中CheckBox元素的集合 得到Value值 }); var params={sub:subValue,sub1:sub1Value} passParamsByPost(url,params); $('#selectProjectItem').modal('hide'); }//供调用方法:把参数读取后,重新新建一个form,传入url和参数再提交function passParamsByPost(url,params) { var temp=document.createElement("form"); temp.action=url; temp.method="POST"; temp.style.display="none"; if(params != null){ for(var x in params) { var opt=document.createElement("input"); opt.name=x; opt.type='hidden'; opt.value=params[x]; temp.appendChild(opt); } } temp.submit(); return temp; }新闻热点
疑难解答