FormExt_wev8.js
2.56 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
Mobile_NS.formFieldRepeatVerify = function(formid, successFn, failFn){
var $form = $("#"+formid);
eval("var repeatVerifyFieldInfo = window.repeatVerifyFieldInfo_" + formid + ";");
var fieldInfoArr = [];
for(var i = 0; repeatVerifyFieldInfo && i < repeatVerifyFieldInfo.length; i++){
var verifyField = repeatVerifyFieldInfo[i];
verifyField["checkStatus"] = "true";
var fieldInfo = verifyField["fieldInfo"];
var fieldname = fieldInfo["fieldname"];
var v = $f(fieldname).val();
verifyField["val"] = v;
if(v){ //此处值判断一来是判断防止程序出现未期值,更重要的目的是过滤掉如果改变为空值的情况将不参与唯一性验证
fieldInfoArr.push({"fieldid":fieldInfo["id"], "fieldname":fieldInfo["fieldname"], "fieldhtmltype":fieldInfo["fieldhtmltype"], "type":fieldInfo["type"], "changedValue":v});
}
}
if(fieldInfoArr.length > 0){
var jsonstr = JSON.stringify(fieldInfoArr);
var dataId = $("input[type='hidden'][name='billid']", $form).val();
var tablename = $("input[type='hidden'][name='tablename']", $form).val();
var paramData = {"data":encodeURI(jsonstr), "tablename":tablename, "dataId":dataId};
var req = Mobile_NS.ajax("/mobilemode/formComponentAction.jsp?action=verifyFieldDataRepeat", paramData, function(responseText){
var result = $.parseJSON(responseText);
var isSuccess = true;
var tipHtml = "";
for(var i = 0; result && i < result.length; i++){
var fieldname = result[i]["fieldname"];
var dcount = result[i]["dcount"];
if(dcount > 0){
isSuccess = false;
var wevF = $f(fieldname);
tipHtml += "【"+wevF.$Obj.attr("fieldlabel")+":\""+wevF.val()+"\"】,";
}
}
if(isSuccess){
successFn.call(window);
}else{
tipHtml = tipHtml.substring(0, tipHtml.length-1);
tipHtml = "您录入的" + tipHtml + "已存在,违反了唯一性验证,请重新录入";
Mobile_NS.formMsg($form, tipHtml, "Form_Msg_Err");
failFn.call(window);
}
}, {
error: function(){
Mobile_NS.Alert("网络请求失败,请稍后重试!", false, [_formMLJson['383773'], function(){//数据提交失败: 知道了
$(this).parents("#dialog").hide();
failFn.call(window);
}]);
}
});
//设置15秒的超时时间,超过时限请求未发出则放弃该请求,提示网络状况
setTimeout(function(){
if(req.readyState < 2){
req.abort();
}
}, 15000);
}else{
successFn.call(window);
}
};