動態傳遞form表單元素值html
例如:產品的參數是不固定的,這時候你就須要動態的增長或減小表單元素,如動態的增長產品參數名稱和參數值java
這樣你能夠利用js獲取參數名稱和參數值,放在數組當中,將該數組傳遞到後臺,而後經過spilt函數將字符串轉換成數組,對數組進行字符串截取,進而給對象賦值!這樣減小了request請求!沒必要必定要得到input標籤的name屬性,利用常規的方法獲取參數值。api
截圖:數組
前臺JS用了lhgdialog.js插件app
$(function(){ $("#form").submit(function(){ var paramList = []; $( "#product_params div[class='param']" ).each(function(){ var param=$.trim($(this).children("span").text())+"_"+$(this).children("input").val()+$(this).children("input").attr("class"); paramList.push(param); }); alert(paramList); $("#param_list").val(paramList); }); var api = "", count=1; $( ".choose-dialog" ).click(function(){ api = $.dialog({ id: 'testID2', lock: true, content : $( "#chooseMain" ).html(), fixed: true, title:"添加產品參數", width:320, height:240, max: false, min: false, ok: function() { var paramName=$(".chooseMain input[name='param_name']").val(); var paramValue=$(".chooseMain input[name='param_value']").val(); var paramClassify=$(".param_classify").val(); if($.trim(paramName)==""){ alert("參數名稱不能爲空!"); return false; }; if($.trim(paramValue)==""){ alert("參數值稱不能爲空!"); return false; }; if(paramClassify=="0"){ alert("請選擇參數類型!"); return false; } var params="<div class='param' style='height: 30px'><span>"+paramName+" </span><input type='text' class='"+paramClassify+"' value='"+paramValue+"'/></div>"; $("#params").append(params); count++; }, okVal: "肯定", cancelVal: '關閉', cancel: true }); }) })
後臺處理類:函數
@RequestMapping("/insertProduct.do") public ModelAndView insertProduct(@RequestParam("param_list") String paramList, @RequestParam("product_classify") String productClassify, @RequestParam("product_name") String productName, HttpServletRequest request,HttpServletResponse response){ String productId=Utils.generateUUID(); List<ProductParam> list=getParams(paramList,productId); return null; } public List<ProductParam> getParams(String strParams,String productId){ List<ProductParam> paramList = new ArrayList<ProductParam>(); String[] list = strParams.split(","); for (int i = 0; i < list.length; i++) { ProductParam param = new ProductParam(); String flag= list[i].substring(list[i].length()-1,list[i].length()); String paramName= list[i].substring(0,list[i].lastIndexOf("_")); String paramValue=list[i].substring(list[i].indexOf("_")+1, list[i].length()-1); param.setFlag(flag); param.setParamId(Utils.generateUUID()); param.setParamName(paramName); param.setParamValue(paramValue); param.setProductId(productId); paramList.add(param); } return paramList; }