Aras学习笔记 (30) Aras官方帖Disable Form Field介绍及代码汇总
官方帖地址https://community.aras.com/b/english/posts/disable-form-fields/
1、文本字段:
var input = getFieldByName("item_number"); input.getElementsByTagName("input")[0].disabled = true;
2、Dropdown字段:11.0 SP11之前版本,Dropdown是一个select控件,但在11.0 SP11+以后拆分成了input和button两个控件,所以disable时要同时操作。
var input = getFieldByName("make_buy"); input.getElementsByTagName("input")[0].disabled = true; input.getElementsByTagName("button")[0].disabled = true;
3、Item字段: item字段基本上和dropdown类似,也是包含input和button两个控件。
var input = getFieldByName("owned_by_id"); setTimeout(function() { input.getElementsByTagName("input")[0].disabled = true; input.getElementsByTagName("button")[0].disabled = true; }, 100);
官网上说在Item字段被Disable后会出现再次被Enable的情况,但在我们Aras系统并未出现,可能我用的11.0 SP15已经修复了这个bug,所以只需如下代码即可。
var input = getFieldByName("owned_by_id"); input.getElementsByTagName("input")[0].disabled = true; input.getElementsByTagName("button")[0].disabled = true;
4、Date字段:Date字段和Dropdown及Item类似,也是包含input和button两个控件,但不同点是当日期字段被disable后需要更换图标。
var input = getFieldByName("effective_date"); input.getElementsByTagName("input")[0].disabled = true; input.getElementsByTagName("input")[1].disabled = true; input.getElementsByTagName("input")[1].src = "../images/calendar-disabled.svg";
当然重新Enable时也要更换图标。
input.getElementsByTagName("input")[1].src = "../images/calendar.svg";
实现效果如下: