gpt4 book ai didi

javascript - 如果输入的 ng-pattern 不匹配,则 ng-disable 按钮

转载 作者:行者123 更新时间:2023-12-01 02:28:17 26 4
gpt4 key购买 nike

如果输入字段的 ng-pattern 与正则表达式不匹配,我想使用 ng-disable 禁用按钮。在本例中,正则表达式为“[0-9]”。我尝试过以下代码:

索引.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns="http://www.w3.org/1999/xhtml" ng-app="Filter">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ASCII" />
<title>Test</title>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.js"></script>
<script type="text/javascript" src="Test.js"></script>
</head>
<body>
<div class="ctrl" ng-controller="Ctrl">
Text <input type="text" ng-model="input_field" ng-pattern="[0-9]"><br/>
<button ng-disabled="input_field.$valid">Start Filter</button>
</div>
</body>
</html>

测试.js

Module.controller('Ctrl', function($scope){
$scope.input_field = "Insert your Text here!";
}

不幸的是,它不起作用。我尝试了很多方法但没有任何效果。如果模式不匹配,您有什么想法如何禁用该按钮吗?

最佳答案

我认为你应该用 <form> 包裹它并修复语法:$error而不是$valid , [0-9] -> /^[0-9]/ 。这是一个demo,适当调整一下:

<!DOCTYPE html>
<html>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script>

<body>

<div ng-app="myApp" ng-controller="myCtrl">

<form name="myForm">
Input: <input type="text" ng-model="input_field" name="input_field" ng-pattern="/^[0-9]/" placeholder="Insert a number"><br/>
<button ng-disabled="myForm.input_field.$error.pattern || !input_field">Start Filter</button>
</form>

</div>

<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {});
</script>

</body>

</html>

关于javascript - 如果输入的 ng-pattern 不匹配,则 ng-disable 按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48546415/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com