")
.append(label).append(":").append(requiredFlag);
}else{
html.append("
");
}
html.append("
");
html.append("
");
var $view = {};
if(_initData["_"+key]) $view = _initData["_"+key];
if(xtype == "checkbox" || xtype == "radio"){
if( _initData[$(dom).attr("name")+"Data"]){
xtype = xtype + "_list";
}
}
if($.inArray(xtype, xtypes) != -1){
var p = dealData(dom);
//值处理
var value = $(dom).attr("value");
if(value){
p.value = value;
}else{
p.value = $view[p.name];
if(!p.value){
p.value = _initData[$(dom).attr("name")];
if(!p.value) p.value="";
}
}
if(_initData[p.name+"Data"]) p.obj = _initData[p.name+"Data"];
p.xtype = xtype;
html.append(dealXtype(p,wights));
}else{
//值处理
var value = $view[$(dom).attr("name")];
if(!value){
value = _initData[$(dom).attr("name")];
if(!value) value="";
}
//checkbox,radio后的值
var _cr = "";
html.append("");
if($(dom).attr("type") == "checkbox" || $(dom).attr("type") == "radio")
_cr = $(dom).attr("label");
html.append(_cr);
}else{
var att = dom.attributes;
for(var i = 0;i < att.length;i++){
if(att[i].name != "label"){
if(att[i].name == "value"){
if($(dom).attr("value") && $(dom).attr("value") != "")
value = $(dom).attr("value");
}else{
html.append(att[i].name).append("='").append(att[i].value).append("' ");
}
}
if($(dom).attr("type") == "checkbox" || $(dom).attr("type") == "radio"){
_cr = $(dom).attr("label");
}
}
if($(dom).attr("type") == "checkbox" || $(dom).attr("type") == "radio"){
if($(dom).attr("value") == value && value != "")
html.append(" checked='checked' ");
}
// if(!$(dom).attr("value") || $(dom).attr("value") == "")
// html.append(" value='").append(value).append("' ");
html.append(" value='").append(value).append("' ");
if(!$(dom).attr("id")) html.append("id = '").append($(dom).attr("name")).append("' ");
html.append(" />").append(_cr);
}
}
html.append("").append(label).append("");
html.append("
");
return html;
};
var dealData = function(dom){
var p = {};
//补充id
var name = $(dom).attr("name");
if(!name) name = "";
p.name = p.id = name;
if($(dom).attr("id")) p.id = $(dom).attr("id");
//校验处理
p.validate = $(dom).attr("validate");
if(!p.validate){
p.validate="";
}
//class处理
p.clazz = $(dom).attr("class");
if(!p.clazz) p.clazz="";
//readonly
p.readonly = $(dom).attr("readonly");
//style
p.style = $(dom).attr("style");
//spinner处理
p.decimal = $(dom).attr("decimal");
if(!p.decimal) p.decimal = 1;
var point = "";
var dec = p.decimal;
if(p.decimal == "1") point = ".1";
else point = "1";
if(p.decimal == "0") dec = "1";
if($(dom).attr("step"))
p.step = Number(Number("0").toFixed(Number(dec)-1) + point) * Number($(dom).attr("step"));
if($(dom).attr("local")) p.local = $(dom).attr("local");
if($(dom).attr("title")) p.title = $(dom).attr("title");
if($(dom).attr("parent")) p.parent = $(dom).attr("parent");
return p;
};
var dealXtype = function(p,wights){
var html = restructureType(p,wights);
return html;
};
var restructureType = function(p,wights){
var style = "";
if(p.style)
style = " style='"+p.style+"' ";
var readonly = ""
if(p.readonly)
readonly = " readonly='"+p.readonly+"' ";
var tip = "";
if(p.title)
tip = " title='"+p.title+"' ";
var html = new StringBuffer();
switch(p.xtype){
case "spinner":
if(p.value == "") p.value = 0;
html.append("
");
wights.push({type:'spinner',id:'#'+p.id,step:p.step});
break;
case "date":
// if(p.validate.indexOf("date:true") == -1){
// if(p.validate != ""){
// p.validate = p.validate.substring(0,p.validate.length-1);
// p.validate = p.validate + ",date:true}";
// }else{
// p.validate = "{date:true}";
// }
// }
html.append("
");
wights.push({type:'date',id:'#'+p.id});
break;
case "datetime":
html.append("
");
wights.push({type:'datetime',id:'#'+p.id});
break;
case "textarea":
html.append("
");
wights.push({type:'textarea',id:'#'+p.id});
break;
case "hide":
html.append("
");
break;
case "select":
html.append("
");
wights.push({type:'select',id:'#'+p.id});
break;
case "mtilselect":
html.append("
");
wights.push({type:'mtilselect',id:'#'+p.id});
break;
case "checkbox_list":
var obj = p.obj;
var defaultvalue = p.value;
if(!obj){
html.append("
");
break;
}
html.append("
");
for(var key = 0;key < obj.length;key++){
var checked = "";
if(defaultvalue == obj[key][p.name+"_code"])
checked = "checked='checked' ";
html.append("").append(obj[key][p.name+"_name"]);
}
html.append("
");
break;
case "radio_list":
var obj = p.obj;
var defaultvalue = p.value;
if(!obj){
html.append("
");
break;
}
html.append("
");
for(var key = 0;key < obj.length;key++){
var checked = "";
if(defaultvalue == obj[key][p.name+"_code"])
checked = "checked='checked' ";
html.append("").append(obj[key][p.name+"_name"]);
}
html.append("
");
break;
// case "textarea":
// html.append("
");
// break;
case "cascade-select":
html.append("
");
wights.push({type:'select',id:'#'+p.id});
break;
case "combination-select":
html.append("
");
wights.push({type:'select',id:'#'+p.id});
break;
}
return html.toString();
};
$(function(){
$(".web-form").each(function(index,dom){
var id = $(dom).attr("id");
$("#"+id).webuiForm();
});
});
var validateData = function(validateId,type){
if(type == "div"){
$("#"+validateId).validate({
errorPlacement: function(lable, element) {
var span = element.parent().find("span");
var text = span.text()+":"+lable.text()+"| ";
lable.text(text);
lable.css("color","red");
lable.appendTo($("div.error-ct"));
}
});
}else if(type == "tip"){
$("#"+validateId).validate({
errorPlacement: function(lable, element) {
//$(element,$("#"+validateId)).poshytip({content:lable.html()});
$(element).webuiTip({content:lable.html()});
// $(element,$("#"+validateId)).webTip({ content: lable.html(), appendIdTo:lable});
}
});
}else{
$("#"+validateId).validate({
errorPlacement: function(lable, element) {
if($(element,$("#"+validateId)).next("button").length != 0){
$(element,$("#"+validateId)).bind("change",function(){
if($(element,$("#"+validateId)).val()){
$($(element,$("#"+validateId)).next().next("span")).replaceWith(errHtml(""));
}else{
$($(element,$("#"+validateId)).next().next("span")).replaceWith(errHtml(lable.html()));
}
});
$($(element,$("#"+validateId)).next().next("span")).replaceWith(errHtml(lable.html()));
}else{
$(element,$("#"+validateId)).next("span").replaceWith(errHtml(lable.html()));
}
}
});
}
};
var errHtml = function(lable){
var err = "
";
return err;
}
var queryDictionaries = function(dom,params){
if(params.val || params.val == ""){
var html = new StringBuffer();
$(dom).children().remove();
html.append("
");
$(dom).append(html.toString());
// $(dom).multiselect("refresh");
$(dom).trigger('change');
return;
}
Newtouch.Ajax.sendParams(params, params._action, function(data){
var html = new StringBuffer();
$(dom).children().remove();
html.append("
");
for(var key = 0;key < data.length;key++){
html.append("
");
}
$(dom).append(html.toString());
// $(dom).multiselect("refresh");
$(dom).trigger('change');
}, function(error){
}, true);
};
var queryCombinationDictionaries = function(dom,params){
if(params.val || params.val == ""){
var html = new StringBuffer();
// $(dom).children().remove();
// html.append("
");
$(dom).append(html.toString());
// $(dom).multiselect("refresh");
$(dom).trigger('change');
return;
}
Newtouch.Ajax.sendParams(params, params._action, function(data){
var html = new StringBuffer();
// $(dom).children().remove();
// html.append("
");
for(var key = 0;key < data.length;key++){
html.append("
");
}
$(dom).append(html.toString());
// $(dom).multiselect("refresh");
$(dom).trigger('change');
}, function(error){
}, true);
};