2017-12-19 7 views
0

誰かがこれらの条件をチェックしていることを説明できますか?他のフィールドはすでに無効になっているかどうかを確認することと関係がありますが、私は完全にはっきりしていません。具体的にgetDisabledメソッドを参照しているのは何ですか?なぜこの条件

if (!userHasRoleNeeded) { 
      Xrm.Page.ui.controls.forEach(function (control, i) { 
       if (control && control.getDisabled && !control.getDisabled()) { 
        control.setDisabled(true); 

答えて

2

a && baは "falsey" であればbを実行しません。 control.getDisabledcontrol.getDisabledが「真実」(存在する場合)であるかどうかをチェックし、存在する場合にはメソッドを実行します。このチェックを行わないと、control.getDisabledが存在しないと、未定義のメソッドを実行しようとし、実行エラーが発生します。 なぜこれは図書館の著者による選択です。

さらに読書:control.setDisabled(true);スニペットは、これらのコントロールがdisabled性質を持っていないとして、「IFRAME」、「リソース」&「サブグリッド」などのコントロールを無効にしようとしたときhttps://j11y.io/javascript/truthy-falsey/

+0

getDisabled関数の定義がページに存在するかどうかを確認していますか? – PickyTech

0

基本的に、我々は、エラーを回避するために、これを行います。

関連する問題