【问题标题】:javascript "if else" wont go in else when condition is not met当条件不满足时,javascript“if else”不会进入else
【发布时间】:2015-09-25 12:54:16
【问题描述】:

我在 html 中有一个输入文本和一个空标签

<div class="form-group">
    <label for="hsDetailsForm-name">Denumire</label>
    <input id="hsDetailsForm-name" type="text" class="form-control" ng-model="hydroStation.name" placeholder="Obligatoriu" required ng-blur="validationObliga()" autofocus/>
    <label id="obliga"></label>
</div>

这是js中的函数

$scope.validationObliga = function () {
    var value = $.trim($("hsDetailsForm-name").val());

    if (value == "") {
        $('#obliga').html("Campul este obligatoriuu!").css("color", "red");
    } else {
        $('#obliga').html("");
    }
}

ng-blur 工作,当它为空时,它会写“Campul este obligiuu!”以红色显示,但是当您在文本字段中键入内容并将焦点移出时,它仍然会说,它不会将标签更改为“”。为什么不进入 else 呢?

【问题讨论】:

  • 你在这里没有使用 AngularJS,你只是在使用 jQuery。这是大多数开发人员不建议在 AngularJS 应用程序中包含 jQuery 的主要原因。

标签: javascript jquery html angularjs focus


【解决方案1】:

这里的错误是你错过了id选择器的#

虽然在选择器中添加#会解决你的问题,但我不建议你在这里使用jQuery,使用AngularJS如下

控制器:

$scope.validationObliga = function () {
    var value = $scope.hydroStation.name.trim();

    $scope.showMessage = value === "";
};

查看:

<div class="form-group">
    <label for="hsDetailsForm-name">Denumire</label>
    <input type="text" class="form-control" ng-model="hydroStation.name" placeholder="Obligatoriu" required ng-blur="validationObliga()" autofocus/>
    <label ng-show="showMessage" class="error">Campul este obligatoriuu!</label>
    <!--   ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^                     Add this --->
</div>

CSS:

.error {
    color: red;
}

【讨论】:

    【解决方案2】:

    你错过了这里的锚;应该是……

    var value = $.trim($("#hsDetailsForm-name").val());
    

    ... 这样您就可以查找 id 等于 hsDetailsForm-name 的元素。就目前而言,您寻找 一个元素 hsDetailsForm-name - 没有。结果,jQuery 元素为空,其 val() 为undefined$.trim(undefined) 产生一个空字符串。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-07
      相关资源
      最近更新 更多