1、arrayObj.push(data)、row.cells[0]:

var arrayObj = new Array(); (var fdIds = [];)
var data={};var row = document.getElementById("edittr_"+index);
var busId = row.cells[0].getElementsByTagName("input")[0].value;
var sonName = row.cells[1].getElementsByTagName("input")[0].value;
var birthDate = row.cells[2].getElementsByTagName("input")[0].value;
var named = row.cells[3].getElementsByTagName("select")[0].value;
var workAndPosition = row.cells[4].getElementsByTagName("input")[0].value;
var cardType = row.cells[5].getElementsByTagName("select")[0].value;
var cardNumber = row.cells[6].getElementsByTagName("input")[0].value;
var busFlag = row.cells[7].getElementsByTagName("select")[0].value;
var uploadyear = row.cells[8].getElementsByTagName("select")[0].value;
var bussinessDeclare = row.cells[9].getElementsByTagName("textarea")[0].value;
var type = row.cells[11].getElementsByTagName("input")[0].value;data["busId"] = busId;
data["sonName"] = sonName;
data["birthDate"] = birthDate;
data["named"] = named;
data["workAndPosition"] = workAndPosition;
data["cardType"] = cardType;
data["cardNumber"] = cardNumber;
data["busFlag"] = busFlag;
data["uploadyear"] = uploadyear;
data["bussinessDeclare"] = bussinessDeclare;
data["type"] = type;
arrayObj.push(data);
function getTABLE_DocList(){var arrayObj = new Array();$("input[name='List_Selected']").each(function(){        //遍历checkbox的选择状态if($(this).prop("checked")){                        //如果值为checked表明选中了var tdArr = $(this).parent("td").parent("tr");  //获取选中行var fdid = tdArr.find("input[name='List_Selected']").val();var dnjdsigned = tdArr.find("select[name='dnjdsigned']").val();var ffclsigned = tdArr.find("select[name='ffclsigned']").val();var bussigned = tdArr.find("select[name='bussigned']").val();var dutytype = tdArr.find("select[name='dutytype']").val();var data={};data["fdid"] = fdid;data["dnjdsigned"] = dnjdsigned;data["ffclsigned"] = ffclsigned;data["bussigned"] = bussigned;data["dutytype"] = dutytype;arrayObj.push(data);}});var checkbox = $("input[type='checkbox']").is(':checked');if (!checkbox){}return arrayObj;}

2、$(this).prop(“checked”)

function ExportNzdalist(){var fdIds = [];var allCheckbox = $("input[name='List_Tongle']").prop("checked");if(!allCheckbox){$("input[type='checkbox']").each(function(){ //遍历checkbox的选择状态if($(this).prop("checked")) {            //如果值为checked表明选中了fdIds.push($(this).val());}});listExport('${LUI_ContextPath}/pro/relatework/pro_relatework_jjjc_inspectassert/proRelateworkJjjcInspectassert.do?method=listExport&fdModelName=com.landray.kmss.pro.relatework.model.ProRelateworkJjjcInspectassert&fdIds='+fdIds)}else {listExport('${LUI_ContextPath}/pro/relatework/pro_relatework_jjjc_inspectassert/proRelateworkJjjcInspectassert.do?method=listExport&fdModelName=com.landray.kmss.pro.relatework.model.ProRelateworkJjjcInspectassert');}
}

3、<c:if> <c:forEach>

<%bussinessList = proRelateworkJjjcPersonmsgService.getRelativeBusiness(userCode2,userName2);request.setAttribute("bussinessList",bussinessList);
%><c:if test="${ bussinessList.size() > 0}"><c:forEach items="${bussinessList}" var="bussinessMap" varStatus="varStatus"><tr class="showtr_${varStatus.index}" ><td width='2%'><input type="checkbox" style="display: none" class="showcheckbox" name="bussinessId" value="${bussinessMap.busDeclareId}"><span name="busId" >${varStatus.index+1}</span></td><td width="5%" align="center"><xform:text property="sonName" className="sonName" value="${bussinessMap.sonName}" /></td></tr></c:forEach>
</c:if>

4、通过标签id\name\class去设置标签style

<style>#criteria1 .lui_item_sign{display: none !important;}#lui-id-17 .criterion-collapse #lui-id-18 .criterion-all {display: none !important;}
</style>

5、request对象的使用

String userCode2 = request.getParameter("userCode1");
<html:hidden property="userid" value="<%=userCode2%>"/>

6、通过标签id\name\class获取value

/***点击保存后调用*/
function checkParam() {var fileNameArray = $(".upload_list_filename_title");var selectYear = document.getElementById("uploadyear").value;console.log(selectYear);if(fileNameArray.length<1) {seajs.use(['lui/dialog'],function(dialog) {dialog.alert('至少选择一个附件');});return false;}if(selectYear == "") {seajs.use(['lui/dialog'],function(dialog) {dialog.alert("请选择年份");});return false;}return true;
}

7、弹出窗口

dialog.confirm('${ lfn:message("page.comfirmDelete") }', function(isOk) {if(isOk) {delCom_OpenWindow(delUrl);
}dialog.alert('删除失败!');console.log(selectYear);

8、.attr()、location.href、encodeURI(’<%=userName2%>’)

//对userName2编码
location.href= "${LUI_ContextPath}/pro/relatework/pro_relatework_jjjc_personmsg/proRelateworkJjjcDnjdAttach.jsp?userName1="+
encodeURI('<%=userName2%>')+"&userCode1="+encodeURI('<%=userCode2%>');var url = data.bsMsgUrl+"/DocRead_Entry.do?folderID=5&taskId=null&operator=edit&tableName=RLZY_YGDJ&docID="+data.docId+"&subjectId=6699&showName=" +
encodeURI('员工信息')+"&formID="+data.formId+"&name="+encodeURI(data.userName)+"&dyjlFlag=dyjl";$(window.parent.document).find("#personmsg .lui_widget_iframe").attr("src",url);
$(window.parent.document).find("#personmsg .lui_widget_iframe").attr("src","${LUI_ContextPath }/resource/jsp/list_norecord.jsp");   <ui:iframe  id="personmsg" src="${LUI_ContextPath }/pro/relatework/pro_relatework_jjjc_personmsg/proRelateworkJjjcPersonmsg_view.jsp?userCode1=${fdCode0}" ></ui:iframe>

9、点击按钮或选择option,标签内容的隐藏和显示

/**
*选中intoinspectflag按钮,bussigned标签内容显示
*/
function changeInspectflag(){$("#bussigned:checked").attr("checked",false);//刷新bussigned的选择状态,重新选择按钮var intoinspectflag = $(':radio[name="intoinspectflag"]:checked').val();//获取选择状态if (intoinspectflag=="Y") {$("#bussigned").show();//bussigned按钮显示$(':radio[name="bussigned"]').attr("validate","required");//更新标签的属性值}else {$("#bussigned").hide();//bussigned按钮隐藏$(':radio[name="bussigned"]').attr("validate","unrequired");  //更新标签的属性值}
}/**
*type 选择postChange,newDeptAndPosition标签内容显示
*/
function changeTypeflag(){var typeflag =  $("#type option:selected").val();if (typeflag=="postChange") {$(".newDeptAndPosition").css("display","");}else {$(".newDeptAndPosition").css("display","none");}
}

10、 ajax请求模板

前台:
function submitForm(){var arrayObj = getTABLE_DocList();if(arrayObj.length > 0) {var url = "${LUI_ContextPath}/pro/relatework/pro_relatework_jjjc_inspectassert/proRelateworkJjjcInspectassert.do?method=updateFormByIds"$.ajax({type: "post",url: url,//data:$.param({"List_Selected":busIds},true),data: {"data": JSON.stringify(arrayObj)},//js对象转换为json对象async: true,//true:异步请求(请求无序),false:同步请求(请求按顺序)dataType: "json",success: function (data) {if(data.status == "Y" && confirm("保存成功!") == true) {location.href= "${LUI_ContextPath}/pro/relatework/pro_relatework_jjjc_inspectassert/index.jsp";parent.location.reload();//当async: true时,reload()可能在请求没结束时已加载。// window.location.reload();}else if(data.status == "N") {seajs.use(['lui/dialog'],function(dialog) {dialog.alert('保存失败!');});}},error : function(){seajs.use(['lui/dialog'],function(dialog) {dialog.alert('保存失败!');});}});}
}后台:
//String[] busIds = request.getParameterValues("List_Selected");
net.sf.json.JSONArray jsonArray = net.sf.json.JSONArray.fromObject(request.getParameter("data"));//json转java
JSONObject rtn = new JSONObject();//json数据
rtn.put("status","Y");
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(rtn.toString());//后台传字符串到前台前台传字符串-后台接收:
data:{"fdiD":fdiD}
String  fdiD= request.getParameter("fdiD");
前台传数组-后台接收:
data:$.param({"List_Selected":busIds},true),
String[] busIds = request.getParameterValues("List_Selected");
前台传数组-后台接收:
data: {"data": JSON.stringify(arrayObj)},
net.sf.json.JSONArray jsonArray = net.sf.json.JSONArray.fromObject(request.getParameter("data"));js、json、java三者的转换
JSON.parse() 方法用来解析JSON字符串,构造由字符串描述的JavaScript值或对象。
JSON.stringify() 方法是将一个JavaScript值(对象或者数组)转换为一个 JSON字符串
fromJson() 方法将JSON字符串解析为java对象
toJson() 方法将Java对象转换为JSON

11、第三方接口

1、请求方:
String result = "";
RestTemplate restTemplate = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
Map<String,String> map = new HashMap<String,String>();
map.put("usercode",usercode);
HttpEntity<String> entity = new HttpEntity(map, headers);ProBaseConfig config = new ProBaseConfig();
String jjjcUrl = config.getValue("jjjc.getPersonMsgByUserCode");//String  jjjcUrl = "http://localhost:8050/relatework/getPersonMsgByUserCode";result = restTemplate.postForObject(jjjcUrl, entity, String.class, new Object[0]);JSONObject jsonResult =new JSONObject();
jsonResult = JSONObject.fromObject(result);//字符串转换为JSONObject
data = jsonResult.getString("data");//获取JSONObject 的data字段
//data字段数据先转换为json数据,在转换为java对象
JjjcPersonMsg datas =JSONObject.toBean(JSONObject.fromObject(data),JjjcPersonMsg.class);2、接收方:
@RestController
@Api(tags = "1.0.2",value = "纪检监察接口")
@RequestMapping(path = "/relatework",produces = {MediaType.APPLICATION_JSON_VALUE})
public class RelateworkJjjcApi {@Autowiredprivate Doc_RLZY_YGDJ doc_RLZY_YGDJ;@ApiOperation(value = "个人信息接口")@PostMapping(path = "/getPersonMsgByUserCode")public Result getPersonMsgByUserCode(@RequestBody Map<String,String> map){String usercode = map.get("usercode");if (null == usercode || "".equalsIgnoreCase(usercode)){return ResultUtil.error(ResultEnum.PARAM_BLANK_ERROR.getCode(),"账户不能为空");}JjjcPersonMsg jjjcPersonMsg = doc_RLZY_YGDJ.getPersonMsgByUserCode(usercode);return ResultUtil.success(jjjcPersonMsg);//返回 Result对象}
}public static Result success(Object object) {Result result = new Result();result.setCode(ResultEnum.SUCCESS.getCode());result.setMsg(ResultEnum.SUCCESS.getMsg());result.setData(object);return result
}

12、request.getParameter、request.getParameterValues、request.getParameterMap

对于getParameter()、getParameterValues()、getParameterMap()用法。首先request中的参数parameter是一个map表,如下例:
map={username=[xxx],password=[xxx],hobby=[eat,drink]}调用getParameter(“hobby”)时只能获取hobby[0] ,即eat调用getParameterValues(“hobby”)时能获取hobby=[eat,drink]这个数组调用getParameterMap时能获取整个map对象。
链接:https://blog.csdn.net/qq_23121031/article/details/77334430

13.提示框

workinfo.jsp

function bj(sys_id,infomationMtName){var url="/OMSS/generalclass/BMYW/JCSSTZGLB/RYFG/txOrlsxUpdateData.jsp?id="+sys_id+"&infomationMtName="+infomationMtName;$.XYTipsWindow({___title:"人员维护修改",___content:"iframe:"+url,___width:"800",___height:"240",___drag:"___boxTitle",___showbg:true});
}   $("#closepp").click(function(){$.XYTipsWindow.removeBox();//点击提示框关闭按钮,移除提示框
});

txOrlsxUpdateData.jsp

function returnData(){ parent.$.XYTipsWindow.removeBox();//点击提示框关闭按钮,移除提示框
}

13.后台数据传到前台后拼接成js对象,然后赋值到标签中($("#pending2>tbody").html(html);)

//查询记录
function findPendingData(){var searchName = $("#searchName").val(); $("#pending1").css("display","none");$("#pending3").css("display","none");$("#pending2").css("display","");var ret = getTestAjaxPost("RYFG.PersonalMantain/getWorkInfo",encodeURI("searchName="+searchName));if(ret!=null){var dataObj = eval("("+ret+")");var datas = dataObj.info;var dataList = datas.datas;var html = "";var j=0;for(var i=0;i<dataList.length;i++){var sys_id = dataList[i].sys_id;var FFullName = dataList[i].FFullName;var sys_control2 = dataList[i].sys_control2;var subjectId = dataList[i].subjectId;var sys_type = dataList[i].sys_type; var sys_control3 = dataList[i].sys_control3;var personNamemap = dataList[i].personNamemap;//map数据var j=j+1;html = html + "<tr bgcolor='#ffffff'><td align='center'>"+j+"</td>";html = html+"<td align='center'>"+FFullName+"<input type='hidden' name='project_infomationMt_parentId' id='project_infomationMt_parentId' value='"+sys_id+"'></td>";$.each(personNamemap,function(key,value){    //map数据             html = html+"<td align='center'>"+value+"</td>";                });html = html+"<td align='center'><input type='button' onclick='bj("+sys_id+")' style='margin-left:10px;margin-rigth:20px;' value='编辑'/></td></tr>";               }$("#pending2>tbody").html(html);    //js字符串对象赋值到标签}else{return false;}
}

14.设置select 中选中的option

1、$(".selector").find(“option[text=’<%=curUserDepartmentID%>’]”).attr(“selected”,true);
2、 name="<%=strDeptSelId%>_show"

<%String strDeptSelId = "problemdeptcode"; //原查询页面部门id名
%>
<select class="selector" name="<%=strDeptSelId%>_show" id="<%=strDeptSelId%>_show" onchange="setDeptSearchValue(this,<%=strDeptSQLMethod%>);selectThisValue(this)">   <option value='' selected>请选择</option> <%out.println(" if(typeof "+strDeptShowFlag+"_show=='undefined')"+strDeptShowFlag+"_show=document.getElementById('"+strDeptShowFlag+"_show'); ");                   //查询OMSS后台表DeptInfoObj[] deptinfos = GetCompGroupInfo.getDeptGroup();if(deptinfos!=null && deptinfos.length>0){out.println("for( var u=f1."+strDeptSelId+"_show.length-1; u >-1; u--)");out.println(" f1."+strDeptSelId+"_show[u]=null;");out.println("f1."+strDeptSelId+"_show.add(new Option(\"请选择\", \"\"));");    for(int i=0;i<deptinfos.length;i++){                     //21:value为OMSS后台code;//IE、谷歌都适用out.println("<option value='"+deptinfos[i].getDptcode()+"'>"+deptinfos[i].getDptname()+"</option>");
//谷歌不适用,兼容性问题
out.println(strDeptSelId+"_show.add(new Option(\""+deptinfos[i].getDptname()+"\",\""+deptinfos[i].getDptcode()+"\"));");            }}                  %>
</select>

onmouseover +转义字符

//onmouseover 事件会在鼠标指针移动到指定的元素上时发生
td7.innerHTML="<input name='YZB_JJKJ_DGTZS_SON1.fzrlxfs' value='"+tghlxfs+"' onmouseover='displayTrusteeInfo(this,"+'\"'+jjId+'\"'+","+gwid+")' >";

js基本使用-前后台交互(工作问题及解决方法记录)相关推荐

  1. Idea-每次修改JS文件都需要重启Idea才能生效解决方法

    Idea-每次修改JS文件都需要重启Idea才能生效解决方法 参考文章: (1)Idea-每次修改JS文件都需要重启Idea才能生效解决方法 (2)https://www.cnblogs.com/ey ...

  2. js中hover事件时候的BUG以及解决方法

    js中hover事件时候的BUG以及解决方法 参考文章: (1)js中hover事件时候的BUG以及解决方法 (2)https://www.cnblogs.com/mmykdbc/p/7464050. ...

  3. js中报错“Maximum call stack size exceeded“解决方法

    js中报错"Maximum call stack size exceeded"解决方法 参考文章: (1)js中报错"Maximum call stack size ex ...

  4. 20190616 IDEA-每次修改JS文件都需要重启Idea才能生效解决方法

    20190616 IDEA-每次修改JS文件都需要重启Idea才能生效解决方法 参考文章: (1)20190616 IDEA-每次修改JS文件都需要重启Idea才能生效解决方法 (2)https:// ...

  5. 为什么用JS取不到cookie的值?解决方法如下!

    为什么用JS取不到cookie的值?解决方法如下! 参考文章: (1)为什么用JS取不到cookie的值?解决方法如下! (2)https://www.cnblogs.com/autoXingJY/p ...

  6. 关于百度地图js api的getCurrentPosition定位不准确的解决方法

    关于百度地图js api的getCurrentPosition定位不准确的解决方法 参考文章: (1)关于百度地图js api的getCurrentPosition定位不准确的解决方法 (2)http ...

  7. onload js函数不执行的原因分析及解决方法

    今天打开网站的时候,发现很多页面的信息都没有显示出来,仔细观察了之后,发现都是onload的js函数没有执行的原因.其实之前曾发现过这个情况,我以为是网站出了问题,然后采用多种方法试图让onload的 ...

  8. nuxt.js中的静态图片显示不出来解决方法

    nuxt.js中的静态图片显示不出来解决方法 <script> export default {data() {return {imgList: [{ name: "图1&quo ...

  9. easyui中tab页中js脚本无法加载的问题及解决方法

    我发现tab页中<script src="xxx.js">方式加载的脚本没有生效,firebug看请求也没有请求相应的脚本文件. 单独在浏览器中打开tab页中的页面js ...

最新文章

  1. matlab unique函数
  2. Web后端语言模拟http请求(带用户名和密码)实例代码大全
  3. 判断是否获取到手机相机权限
  4. 英文版opensuse 12.2安装中文输入法ibus
  5. Java网页开发中model实现Serializable接口的原因
  6. 计算机网络的一些总结
  7. 线段树和zkw线段树
  8. java cipher用法_java使用Cipher 执行RSA解密报错
  9. 使用AJAX 按需求建立【一棵】树 Building Tree View on demand using AJAX【转载】
  10. JS 语法糖 0 —— 解构
  11. Sum nyoj 欧拉定理简单运用(数论入门)
  12. access日期如何增加年数_ACCESS 时间日期操作大全
  13. 桂林老兵php,桂林老兵的SQLSERVER高级注入技巧
  14. 威纶触摸屏使用说明书_你不知道选择工业触摸屏还有这么多技巧?
  15. 黑马程序员——从迷茫的大学认识黑马
  16. android问号icon,CSS3 动态问号图标(使用工具生成)
  17. [分享]RFID之我的M1离线卡爆破过程
  18. 驾驭云端之风1——Spring Cloud微服务架构实践指南
  19. 手把手教你做树莓派魔镜-MagicMirror(六)-安装MagicMirror
  20. CodeBlocks(20.03)下安装easyx

热门文章

  1. OSChina 周二乱弹 —— 做羞羞事情的正确方法
  2. 常用虚拟机服务器系统,虚拟机技术和Linux系统是工作站和服务器经常用到的
  3. 让气球飞一会儿(hdu1004)
  4. linux定时关机shutdown,windows定时关机和linux定时关机的方法(shutdown命令)
  5. 应用心理学跨考计算机难不难,关于心理学考研的难度
  6. 打印一只Nyan Cat(彩虹猫)(C++)2.0[变色版]
  7. 棱镜产研 |OAS-售点评估,智能实现待开发售点营业额预估
  8. 深入了解Bundle和Map
  9. 版权 | 收藏!哪些作品可以登记版权?
  10. 求职,个人平面设计简介怎么写