表单序列化问题

    xiaoxiao2021-03-25  117

    1.获取表单数据的问题(一)

    表单数据序列化

    这里定义的form的id为update_problem

    $(":submit").on("click", function(){ //表单的序列化 var jsonData = $("#update_problem").serializeArray(); //var jsonData = $("#update_problem").serialize(); if(isSubmit(jsonData)){ $.ajax({ url: , type:"POST", dataType: "json", data:JSON.stringify({ //这里是逐个获取-项目紧急没有做更好的处理办法 id:"${problem.id}",//jstl获取传来的值 pro_title : jsonData[0].value, pro_type : jsonData[1].value, pro_enddate : jsonData[2].value, pro_status : jsonData[3].value, pro_priority : jsonData[4].value, pro_remark : jsonData[5].value, pro_content : jsonData[6].value, }), contentType : "application/json; charset=utf-8", success:function(data){ if (data.code) { layer.msg(data.msg, { icon : 1, time : 500, end:function(){ //页面重定向-在当前的窗体打开 window.location.href=contextPath+"/bfweb/problem/getProblem?id=${problem.id}"; } }); layer.close(index); } else { layer.alert(data.msg, { title : '提示框', icon : 1, }); } } }); } });

    2.鼠标样式设置

    可以设置style=’cursor: pointer’ 下面是全部鼠标样式 default 默认光标(通常是一个箭头) auto 默认。浏览器设置的光标。 crosshair 光标呈现为十字线。 pointer 光标呈现为指示链接的指针(一只手) move 此光标指示某对象可被移动。 e-resize 此光标指示矩形框的边缘可被向右(东)移动。 ne-resize 此光标指示矩形框的边缘可被向上及向右移动(北/东)。 nw-resize 此光标指示矩形框的边缘可被向上及向左移动(北/西)。 n-resize 此光标指示矩形框的边缘可被向上(北)移动。 se-resize 此光标指示矩形框的边缘可被向下及向右移动(南/东)。 sw-resize 此光标指示矩形框的边缘可被向下及向左移动(南/西)。 s-resize 此光标指示矩形框的边缘可被向下移动(南)。 w-resize 此光标指示矩形框的边缘可被向左移动(西)。 text 此光标指示文本。 wait 此光标指示程序正忙(通常是一只表或沙漏)。 help 此光标指示可用的帮助(通常是一个问号或一个气球)。

    3.序列化补充

    //序列化为字符串 var str = $("#towns_edit").serialize(); var jsonData= strToObj(str); //转化为json字符串 JSON.stringify(jsonData) //可以替换的方法 function strToObj(str){ str = str.replace(/&/g, "','" ); str = str.replace(/=/g, "':'" ); str = "({'" +str + "'})" ; obj = eval(str); return obj; }

    重点注意:通过jquery序列化的过程中,如果遇到与实体类之间转化无法完成的问题,可以先去考录所有的int类型的数据的赋值的问题,如果int类型的数据在jquery序列化之后为空时,则无法装换

    表单获取封装为json数据类型(二)

    //非空验证 function checkFormData(){ var flag=true; $('#theForm').find("input[type='text']").each(function(){ //获取表单内所有的input if($(this).val()==""){ layer.open({ content: '请完整填写数据' ,btn: '我知道了' }); flag=false; return; } }); return flag; } //获取表单数据 function getFormData(){ debugger; var data={}; $('#theForm').find('input,select').each(function(){ //获取表单内所有的input var model=$(this).attr('name'); //获取带有name属性的对象 if(model&&model!='image'){ if($(this).val()!=""){ data[model]=$(this).val(); } } }); return data; };
    转载请注明原文地址: https://ju.6miu.com/read-21396.html

    最新回复(0)