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;
};