有时,标准功能“显示属性联动”中的设置字段是否必填,并不能达到需求效果。这时就需要借助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 }
知识兔