如何在HTML中切换标志的表单基础(Angular JS)

时间:2017-03-02 11:09:20

标签: html angularjs html5

我想对两个不同的观点使用相同的表单,我有两个不同的角色。 的 1。客户 2.经理

在我的控制器中,我根据登录的用户角色添加了一个标志。

$scope.userFlag=$rootScope.globalSession.UserRole,

如果我以经理登录,那么 $ rootScope.globalSession.UserRole ="经理"

的值

&安培;如果我以客户身份登录,则 $ rootScope.globalSession.UserRole ="客户"

的值

现在在我的表单中我添加了一个条件来切换它 - >的 NG-如果=" userFlag ==管理员"

        

        <form class="form-horizontal" name="UpdateAdminProfileForm" id="UpdateAdminProfileForm">
           <h2>Update Profile</h2>
                <hr>
            <fieldset name="client" id="client" ng-if="userFlag==Admin">

                <!-- Text input-->
                <div class="form-group">
                    <label class="col-md-4 control-label" for="username">Domain Name*</label>
                    <div class="col-md-4">
                        <input id="username" name="username" type="text" placeholder="Enter your username" class="form-control input-md" ng-model="theClient.OrganizationDomain"  disabled>

                    </div>
                </div>

                <!-- Button -->
                <div class="form-group">
                    <label class="col-md-4 control-label" for="update"></label>
                    <div class="col-md-4">
                        <a><button id="update" name="update" class="btn btn-primary" ng-click="updateClient()">Update</button></a>

                    </div>
                </div>
            </fieldset>
          <fieldset name="manager" id="manager" ng-show="userFlag==Manager">

              <div class="form-group" ng-class="{ 'has-error': submitted && UpdateAdminProfileForm.myemail.$error.required || UpdateAdminProfileForm.myemail.$error.pattern }">
                    <label class="col-md-4 control-label" for="myemail">Email*</label>
                    <div class="col-md-4">
                        <input id="myemail" name="myemail" type="email" placeholder="Enter your email" class="form-control input-md" ng-model="theClient.Email" ng-pattern="regex.Email" ng-maxlength="20" required  autofocus >
                        <span ng-show="submitted && UpdateAdminProfileForm.myemail.$error.required" class="help-block">Email can not be empty</span>
                        <span ng-show="UpdateAdminProfileForm.myemail.$error.pattern && UpdateAdminProfileForm.myemail.$invalid " class="help-block">Please enter a valid email</span>
                    </div>
                </div>

      <div class="modal-footer">
    <button class="btn btn-primary" data-dismiss="modal" type="button" ng-click="updateManager()">Save</button>
    </div>
            </fieldset>
        </form>
    </div>
</div>

但是当我打开表单时它不起作用,它是空的,如果我删除 ng-if =&#34; userFlag == Admin&#34; &amp; ng-if =&#34; userFlag ==经理&#34; 来自 标签,然后显示两个字段集的字段。

带图片的图片

With Flag

删除FLAG后的图片

enter image description here

帮助!提前谢谢。

2 个答案:

答案 0 :(得分:1)

应该是

ng-if="userFlag=='Admin'"

答案 1 :(得分:1)

试试这个

ng-if="userFlag=='Admin'" or  ng-show="userFlag=='Manager'"