2

我需要显示“?” 当值无法从扫描仪读取时,通过包含“?”返回我的值

假设文档的 sr no 为“123”,但假设由于某种原因扫描仪无法读取它,然后它返回我为“12?” 或者 ”???” 或“?23”或“1?3”

如果任何不可读的数字需要用户手动更正,我需要将它们显示到文本框中。

在我们的应用程序中,我们使用 angularjs 验证,它不允许我在文本框中显示上述值,因为它包含“?” 这不是数值。

此外,我应该强制执行数字验证,以便用户可以更正上述内容并提交给服务器。

那么我们如何实现这个功能呢?

<div ng-app ng-controller="formCtrl">
<form name="myForm" ng-submit="onSubmit()">
<input type="text" ng-model="price" name="price_field" ng-pattern="/^[0-9]{1,7}$/" required>
<span ng-show="myForm.price_field.$error.pattern">Not a valid number!</span>
<input ng-show="toggle" type="submit" value="submit"/>
<input ng-show="!toggle" type="button" ng-click="AfterProcessing()"  value="After Processing"/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    <input type="button" value="Reset" ng-click="reset()"/>
    <br/>
<span>Activity : {{message}}</span>
</form>
</div>

JS代码

function formCtrl($scope){
    $scope.price= "123";
$scope.toggle = false;
$scope.message="No Activity";
$scope.onSubmit = function(){
    $scope.toggle=false;
    $scope.message="onSubmit clicked...";
}
$scope.AfterProcessing = function(){
    $scope.toggle=true;
    $scope.price ="1?3";
    $scope.message="AfterProcessing clicked...";
}
$scope.reset=function()
{
    $scope.toggle=false;
    $scope.price ="123";
    $scope.message="Reset clicked...";
    }
 }

我创建了如下示例。

请检查 JsFiddle示例

-谢谢

4

1 回答 1

0

您需要创建一个将应用于文本框的 CSS 类。使用 :before 和 :after 伪 CSS 构造,您可以添加 ? 性格并得到想要的结果。

因此,1. 根据您的要求使用 :before 和/或 :after 定义一个 CSS 类 2. 在 HTML 上,使用 ng-class="{'your-class': $error, 'regular-class': '$原始'}"

如果您需要代码示例和 plunker,请告诉我。(我在一天结束时。可能明天会提供一些代码。)

如果您可以根据上述创建一个 plnkr 并在此处提交链接,那么将有更多人可以帮助您。谢谢。

于 2014-06-10T14:18:55.430 回答