有时,标准功能“显示属性联动”中的设置字段是否必填,并不能达到需求效果。这时就需要借助JS脚本了。
输入框和浏览框:
1 /** 2 * 设置字段必填/选填 3 * @param {boolean} necessary true-必填;false-选填 4 * @param {string} fieldId 字段id,如field12121 5 * @param {string} spanImgId 界面“!”id,通常为field12121span,浏览框为field12121spanimg 6 */ 7 function setNecessityOfField(necessary,fieldId, spanImgId){ 8 var viewtype=necessary?"1":"0"; 9 $('#' + fieldId).attr('viewtype', viewtype); 10 var oldFieldStr = $('input[name=needcheck]').val(); 11 if(necessary){ 12 newFieldStr=oldFieldStr.indexOf(fieldId)!=-1?oldFieldStr:oldFieldStr +',' +fieldId; 13 }else{ 14 newFieldStr=oldFieldStr.replace(','+fieldId, ''); 15 } 16 $('input[name=needcheck]').val(newFieldStr); 17 if(necessary&&$('#' + fieldId).val()!=""){ 18 return; 19 } 20 var html=necessary?'<img src="/images/BacoError_wev8.gif" align="absMiddle">':''; 21 $('#' + spanImgId).html(html); 22 }
附件字段:
1 /** 2 * 设置附件字段必填/选填 3 * @param {boolean} neccessary true-必填;false-选填 4 * @param {string} fieldId 字段id,如field12121 5 * @param {string} spanId 界面“(必填)”id,附件字段为field_12121span 6 */ 7 function setNecessityOfEnclosureField(neccessary, fieldId) { 8 var viewtype = neccessary ? "1" : "0"; 9 $('#' + fieldId).attr('viewtype', viewtype); 10 var oldFieldStr = $('input[name=needcheck]').val(); 11 if (neccessary) { 12 newFieldStr = oldFieldStr.indexOf(fieldId) != -1 ? oldFieldStr : oldFieldStr + ',' + fieldId; 13 } else { 14 newFieldStr = oldFieldStr.replace(',' + fieldId, ''); 15 } 16 $('input[name=needcheck]').val(newFieldStr); 17 if (neccessary && $('#' + fieldId).val() != "") { 18 return; 19 } 20 var spanId = fieldId.replace("field", "field_") + "span"; 21 var html = neccessary ? "(必填)" : ""; 22 $('#' + spanId).html(html); 23 }