Javascript "if else"当条件不满足时,不会进入其他区域

javascript "if else" wont go in else when condition is not met

本文关键字:quot 区域 其他 不满足 else if 条件 Javascript      更新时间:2023-09-26

我有一个输入文本和一个空标签在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工作,当空它写"校园este义务!"在红色,然而,当你在文本字段中输入的东西,并把焦点从它,它仍然说,它不会改变标签为"。为什么不在else中呢?

这里的错误是您错过了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;
}

您错过了这里的锚;应该…

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

…以便查找id等于hsDetailsForm-name的元素。现在,您要查找元素 hsDetailsForm-name—但是没有。因此,jQuery元素是空的,它的val()是undefined, $.trim(undefined)的结果是一个空字符串。