1、前言
1.1、说明
涉及PC端移动端,所有类型字段的必填/不必填的JS
1.2、字段说明
泛微OA常用字段类型大致分为:
1、文本框
2、浏览按钮
2、附件上传
2、每种字段类型的必填与不必填
2.1、文本框
文本框时最普通的直接引用一下代码
2.1.1、文本框必填
//必填
function setNeedcheck(idStr){
var objid = idStr;
var needcheck = document.getElementsByName("needcheck");
if(needcheck[0].value.indexOf(","+objid)==-1){
needcheck[0].value = needcheck[0].value+","+objid;
}
var obj = jQuery("#"+objid);
var objSpan = jQuery("#"+objid+"span");
if(obj.val()==""){
objSpan.html("<IMG src='/images/BacoError_wev8.gif' align=absMiddle>");
}
var viewtype = obj.attr("viewtype");
if(viewtype != ""){
obj.attr("viewtype", "1");
}
}
2.1.2、文本框不必填
//不必填
function setNotNeedcheck(idStr){
var objid = idStr;
var needcheck = document.getElementsByName("needcheck");
needcheck[0].value = needcheck[0].value.replace(","+objid, "");
var obj = jQuery("#"+objid);
var objSpan = jQuery("#"+objid+"span");
if(objSpan.html().indexOf("/images/BacoError_wev8.gif")!=-1){
objSpan.html("");
}
var viewtype = obj.attr("viewtype");
if(viewtype != ""){
obj.attr("viewtype", "0");
}
}
2.2、浏览按钮
浏览按钮和普通文本框类似要想达到标准样式,需要在span后面增加img
2.2.1、浏览按钮必填
//必填
function setNeedcheck(idStr){
var objid = idStr;
var needcheck = document.getElementsByName("needcheck");
if(needcheck[0].value.indexOf(","+objid)==-1){
needcheck[0].value = needcheck[0].value+","+objid;
}
var obj = jQuery("#"+objid);
var objSpan = jQuery("#"+objid+"spanimg");
if(obj.val()==""){
objSpan.html("<IMG src='/images/BacoError_wev8.gif' align=absMiddle>");
}
var viewtype = obj.attr("viewtype");
if(viewtype != ""){
obj.attr("viewtype", "1");
}
}
2.2.2、浏览按钮不必填
//不必填
function setNotNeedcheck(idStr){
var objid = idStr;
var needcheck = document.getElementsByName("needcheck");
needcheck[0].value = needcheck[0].value.replace(","+objid, "");
var obj = jQuery("#"+objid);
var objSpan = jQuery("#"+objid+"spanimg");
if(objSpan.html().indexOf("/images/BacoError_wev8.gif")!=-1){
objSpan.html("");
}
var viewtype = obj.attr("viewtype");
if(viewtype != ""){
obj.attr("viewtype", "0");
}
}
2.3、附件上传
附件上传需要两个参数一个是必填/不必填标志、另一个是字段
//附件必填不必填
function setNecessityOfEnclosureField(neccessary, fieldId) {
var viewtype = neccessary ? "1" : "0";
jQuery('#' + fieldId).attr('viewtype', viewtype);
var oldFieldStr = jQuery('input[name=needcheck]').val();
if (neccessary) {
newFieldStr = oldFieldStr.indexOf(fieldId) != -1 ? oldFieldStr : oldFieldStr + ',' + fieldId;
} else {
newFieldStr = oldFieldStr.replace(',' + fieldId, '');
}
jQuery('input[name=needcheck]').val(newFieldStr);
if (neccessary && jQuery('#' + fieldId).val() != "") {
return;
}
var spanId = fieldId.replace("field", "field_") + "span";
var html = neccessary ? "(必填)" : "";
jQuery('#' + spanId).html(html);
}
3、扩展
移动端的必填/不必填
//涉及移动端的必填/不必填
function setNeedcheck(idStr){
if(coreName == 1){
var objid = idStr;
var needcheck = document.getElementsByName("needcheck");
if(needcheck[0].value.indexOf(","+objid)==-1){
needcheck[0].value = needcheck[0].value+","+objid;
}
var obj = jQuery("#"+objid);
var objSpan = jQuery("#"+objid+"span");
if(obj.val()==""){
objSpan.html("<IMG src='/images/BacoError_wev8.gif' align=absMiddle>");
}
var viewtype = obj.attr("viewtype");
if(viewtype != ""){
obj.attr("viewtype", "1");
}
}else if(coreName == 0){
jQuery("#" + idStr + "_ismandfield").val(idStr);
}
}