Javascript "if else"当条件不满足时,不会进入其他区域
javascript "if else" wont go in else when condition is not met
我有一个输入文本和一个空标签在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)
的结果是一个空字符串。
相关文章:
- onkeyup无法动态创建多个文本区域
- FabricJs-限制主对象内添加对象的移动区域
- 铬:“;未捕获的语法错误:意外的标记:"
- 可以设置“;文件名"发生错误时显示的内联脚本标记的
- JS表单提交"无法使用Chrome数据保护程序加载此页面.尝试重新加载页面.调试信息:POST CISmtuK
- 检测电话窃听,即:<a href="电话:xxx">在UIWebview上
- 使用“+="操作人员
- //而不是在src=“”上使用http://"属性
- "未捕获的语法错误:意外的标记}"
- 可以<脚本类型=“;text/javascript”>window.location=“/"</
- "实例范围”;TypeScript类的getter/setter
- Javascript复选框函数:;缺少:在属性id之后"
- "“;变量未引用正确的对象
- 具有所有样式的文本正在复制到可编辑文本区域
- 如何为高图中的区域线创建z索引
- "日期“;AJAX请求返回的类型值未定义
- 在文本区域POST后解码JSON
- 在文本区域中使用jQuery.text()保持换行符
- 获取"可见”;缩放后的视口区域
- Don't允许使用“@"在文本区域