ecside支持JSON格式提交

/**
 * 功能:支持JSON格式提交,需要加载hiddensubmit.js文件
 * @return ture 成功 false 失败
 * @param {} formid
 */
ECSideUtil.saveGridExt=function(formid)
{
    var ret =  ECSideUtil.generateJson(formid);
    var ecsideObj = ECSideUtil.getGridObj(formid);
 var form = ecsideObj.ECForm;
 var url = form.getAttribute("action");
    var sub = new HiddenSubmit(url);
    sub.add('_gt_json',ret);
    sub.submit();
    //保存成功
    if(sub.getProperty("return/code") > 0)
    {
  ECSideUtil.getRemoveUpdatedClassRows(ecsideObj.forUpdateRows, "");
  ECSideUtil.getRemoveInsertedClassRows(ecsideObj.forInsertRows, "");
  ECSideUtil.getRemoveDeletedRows(ecsideObj.forDeleteRows, "");
  return true;
    }
    //保存失败
    else
    {
     return false;
    }
   
}

/**
 * @
 * 支持JSON格式提交
 * 根据表格产生json文本
 *
 */
ECSideUtil.generateJson=function(tableId)
{
 return "{"+ECSideUtil.getFiledJSON(tableId) +","+ECSideUtil.getInsertJSON(tableId)+","+ECSideUtil.getDeleteJSON(tableId)+","+ECSideUtil.getUPdateJSON(tableId)+"}";
                      
}
/**
 * 生成字段名的JSON
 * @param {} tableId
 */
ECSideUtil.getFiledJSON=function(tableId)
{
 var ecsideObj= ECSideUtil.getGridObj(tableId);
    var headCells = ecsideObj.ECListHead.rows[0].cells;
 var colsName = "/"fieldsName/":[";//列名
 if (headCells != null)
 {
  for (var i = 0; i < headCells.length; i++) {
  if (headCells[i].getAttribute("columnname") != null)
  {
   colsName += "/""+headCells[i].getAttribute("columnname")+"/",";
  }
   }
   colsName = colsName.substring(0,colsName.length -1);
   colsName +="]";
 }
 return colsName;
}
/**
 * 生成插入行的JSON数据格式
 * @param {} tableId
 */
ECSideUtil.getInsertJSON=function(tableId)
{
 //得到增加行
 var insertRows = "/"insertedRecords/":[";
 var ecsideObj= ECSideUtil.getGridObj(tableId);
 var rowsi = ECSideUtil.getInsertRows(tableId);
 ecsideObj.forInsertRows = rowsi;
 for (var i = 0; i < rowsi.length; i++)
 {
  insertRows +="["
  var pars = Form.serialize(ecsideObj.forInsertRows[i], true);
  for(sKey in pars){
   if(pars[sKey]== "" || pars[sKey] == 'null' || pars[sKey] == undefined)
    pars[sKey] = "";
   insertRows += "/""+pars[sKey]+"/","
  }
  insertRows = insertRows.substring(0,insertRows.length -1);
  insertRows +="],"
 }
 if(insertRows.indexOf(",") >0) insertRows = insertRows.substring(0,insertRows.length -1);
 insertRows +="]";
 return insertRows;
}
/**
 * 生成更新行的JSON数据格式
 */
ECSideUtil.getUPdateJSON=function(tableId)
{
 var updateRows = "/"updatedRecords/":[";
 var ecsideObj= ECSideUtil.getGridObj(tableId);
 var rowsi = ECSideUtil.getUpdatedRows(tableId);
 ecsideObj.forUpdateRows = rowsi;
 for (var i = 0; i < rowsi.length; i++)
 {
  var pars = ECSideUtil.getRowCellsMap(ecsideObj.forUpdateRows[i], tableId);
  updateRows +="["
  for(sKey in pars){
   if(pars[sKey]== "" || pars[sKey] == 'null' || pars[sKey] == undefined)
    pars[sKey] = "";
   updateRows += "/""+pars[sKey]+"/","
  }
  updateRows = updateRows.substring(0,updateRows.length -1);
  updateRows +="],"
 }
 if(updateRows.indexOf(",") > 0) updateRows = updateRows.substring(0,updateRows.length - 1);  //去掉","
 updateRows +="]";
 return updateRows;
}

/**
 * 生成删除行的JSON数据格式
 * @param {} tableId
 */
ECSideUtil.getDeleteJSON=function(tableId)
{
 var deleteRows = "/"deletedRecords/":[";
 var ecsideObj= ECSideUtil.getGridObj(tableId);
 var rowsi = ECSideUtil.getDeletedRows(tableId);
 ecsideObj.forDeleteRows = rowsi;
 for (var i = 0; i < rowsi.length; i++)
 {
  deleteRows +='[';
  var pars = ECSideUtil.getRowCellsMap(ecsideObj.forDeleteRows[i], tableId);
  for(sKey in pars){
   if(pars[sKey]== "" || pars[sKey] == 'null' || pars[sKey] == undefined)
    pars[sKey] = "";
  // else
   deleteRows += "/""+pars[sKey]+"/","
  }
  deleteRows = deleteRows.substring(0,deleteRows.length -1);
  deleteRows +="],"
  
 }
 if(deleteRows.indexOf(",") > 0) deleteRows = deleteRows.substring(0,deleteRows.length - 1);
 deleteRows +="]";
 return deleteRows;
}

 

你可能感兴趣的:(json,function,null,url,action)