標籤:
我們知道通過介面設定欄位的change事件,是否是必填,是否可見非常容易。但有時我們需要動態地根據某些條件來設定,這時有需要通過js來動態地控制了。
下面分別介紹如何用js來動態設定。
一、動態設定欄位的change事件
// form on load event
function onLoad() {
init();
pageAttr.delivery_from.addOnChange(deliveryFromChange);
pageAttr.type.addOnChange(typeChange);
pageAttr.order_purpose.addOnChange(orderPurposeChange);
pageAttr.ship_toid.addOnChange(getShiptoInfo);
pageAttr.sold_toid.addOnChange(orderByChange);
}
其中的init方法及pageAttr、page請參考我的這篇部落格《Dynamic CRM 2013學習筆記(二十三)CRM JS智能提示(CRM 相關的方法、屬性以及頁面欄位),及發布前調試》
這裡的addOnChange就跟在form頁面,添加欄位OnChange事件一樣,但在js裡更靈活
二、動態設定欄位為必填或取消必填
設定必填方法:setRequiredLevel(‘required‘)
取消必填:setRequiredLevel(‘none‘)
var df = pageAttr.delivery_from.getText();
if (df == "Others") {
pageAttr.deliveryfrom_plsspecify.setRequiredLevel(‘required‘);
}
else {
pageAttr.deliveryfrom_plsspecify.setRequiredLevel(‘none‘);
}
三、動態設定欄位是否可見
設定可見:setVisible(true)
設定不可見:setVisible(false)
var op = pageAttr.order_purpose.getText();
if (op == "Replacement of Return materials") {
page.rma_noid.setVisible(true);
}
else {
page.rma_noid.setVisible(false);
}
但需要注意的是這裡就不是attribute了,這裡只能設定在control上。
Dynamic CRM 2013學習筆記 系列匯總 -- 持續更新中
Dynamic CRM 2013學習筆記(二十八)用JS動態設定欄位的change事件、必填以及可見