easyUI form保存问题

我要五个字 发布于 2015/05/16 17:51
阅读 1K+
收藏 0

@小帅帅丶 你好,想跟你请教个问题:我用的是spring-mvc框架,UI采用easyui,表单提交采用easyui的表单提交方法,当在表单提交好后本应获得controller的返回值以后再执行success方法,现在只有是高版本的ie浏览器支持,低点就会出现返回值没返回就执行了success方法,不知你有没有遇到过,有没有好的解决方法,谢谢!

加载中
0
巴顿
巴顿
ie8是高版本吗?如果不是,未遇到问题。
我要五个字
不是,ie8会有问题,能否加个你qq。
0
MrChenSH
MrChenSH
JQuery版本的问题
MrChenSH
MrChenSH
回复 @水枪首 : 醉了,jquery.min.js只是JQuery压缩后的代码,你打开代码,里面就有版本号,JQuery1.9之后就不支持低版本IE了
我要五个字
我用的是jquery.min.js
0
小帅帅丶
小帅帅丶
希望粘贴一些代码和支持类库的版本。
0
巴顿
巴顿

贴个我可以的代码给你:

js是jquery-1.11.1.min.js

方法是

$.post(url,{userId:userId,mobile:mobile,password:password,address:address},function(json){
		var result =json.result;
		var isExits = json.isExits;
		if(isExits){
			alert("用户名已经存在");
			return;
		}else{
			if(result==1) {
			/* 	$.messager.show({    // show error message
		            title: '提示',
		            msg: "注册成功"
		        }); */
				alert("注册成功,点击确定后跳转到登陆页面");
				window.location.href="<%=contextPath%>/advertising-platform/login.jsp";
			}
			else {
				alert("注册失败");
			}
		}
	},"json");



楼上有人说的对,也有可能是jquery.js版本问题

MrChenSH
MrChenSH
回复 @水枪首 : 自己写个表单序列化的方法不就行了
我要五个字
如果是这种提交方式的话,大表单提交不是不方便提交?
0
我要五个字
$('#fm').form('submit',{
			url: 'role/role_save.do',
			onSubmit: function(){
				return $(this).form('validate');
			},
			success: function(result){
				result = $.parseJSON(result);
				alert(11);
            	if(result.success) {
            		alert(22);
            		$('#dlg').dialog('close');
					$.messager.show({
						title: '提示',
						msg: result.msg
					});
					$('#datagd').datagrid('reload');    
            	} else {
                	$.messager.show({
						title: '提示',
						msg: result.msg
					});
	            }
			}
		});

这是我的代码,我们的方式不一样的




0
巴顿
巴顿

你说的大表单提交方式,我是这样处理的

function editClassificationSubmit(){
	url = '<%=contextPath%>/classification-edit.json';
	var data = form2Json("fm1");
	var flag = $("#fm1").form('validate');
	if(flag){
		$.post(url,{data:data},function(data){
			if(data.result){
				$.messager.show({
	                title: '提示',
	                msg: "修改成功"
	            });
				$('#dlg1').dialog('close');// close the dialog
		        $('#classificationList').datagrid('reload');    // reload the user data
			}else{
				$.messager.show({
	                title: '提示',
	                msg: "修改失败"
	            });
			}
		},"json");
	}
}



var data = form2Json("fm1");
将表单中的字段序列为json字符串传过去

方法如下

function form2Json(id) {
	var arr = $("#" + id).serializeArray();
	var jsonStr = "";
	jsonStr += '{';
	for (var i = 0; i < arr.length; i++) {
		jsonStr += '"' + arr[i].name + '":"' + arr[i].value + '",';
	}
	jsonStr = jsonStr.substring(0, (jsonStr.length - 1));
	jsonStr += '}';
	/*    	var json;
	    if (typeof(JSON) == 'undefined'){  
	 	   json = eval("("+jsonStr+")");  
	 	}else{  
	 		json = JSON.parse(jsonStr);  
	 	}  
	return json; */
	return jsonStr;
};



0
巴顿
巴顿
我不喜欢用easyui本身的提交方式,我使用的是jquery post的那种常用方式,因为熟悉好控制。
巴顿
巴顿
回复 @水枪首 : public ModelAndView getKcData(@RequestParam("data") String data)
我要五个字
'<%=contextPath%>/classification-edit.json'你是怎么接受的呀?
我要五个字
@巴顿 controller我用对象接受,接受不到
巴顿
巴顿
回复 @水枪首 : {data:data}这样传
我要五个字
$.post(url,{"id":"","roleName":"等等","roleCode":"33"},function(result){ 我data这样写ok, var data = form2Json("fm"); $.post(url,data,function(result){ 这样写就不行了。这个是为什么,内容是一样的
下一页
0
我要五个字
确实是个好方法,谢谢
返回顶部
顶部