javascript - 防止输入设备提交 angularjs 表单

标签 javascript forms angularjs

我正在开发一个应用程序,其中输入文本字段将由扫描仪扫描条形码来填充。

问题在于,当扫描仪扫描时,它会提交表单。它无法在扫描仪上禁用,因此我需要在表单 self 上禁用它。我在想:

<form onsubmit="this.preventDefault()">

这是防止自动提交的方法吗?

我的表单如下所示:

    <form name="form" novalidate>

                            <div class="form-group" ng-class="{'has-success': form.barcode.$valid, 'has-error': form.barcode.$invalid && form.barcode.$dirty}">
                                <label for="barcode" class="control-label">Barcode:</label>
                                <div class="input-group">
                                    <input type="text" ng-model="view.asset.barcode" name="barcode" ng-required="true" id="barcode" class="form-control" ng-change="validateBarcodeUnique(form)">
                                    <span class="input-group-addon"><i ng-class="{'icon-ok': form.barcode.$valid, 'icon-remove': form.barcode.$invalid && form.barcode.$dirty}"></i> </span>
                                </div>
                                <span class="help-block">
                                    <span ng-show="form.barcode.$error.required && form.barcode.$dirty">Barcode is required!</span>
                                    <span ng-show="form.barcode.$error.pattern && form.barcode.$dirty">Barcode is already used!</span>


                    </span>
                        </div>
...
                        <div>
                            <button ng-click="form.$setPristine(); updateAsset();" ng-disabled="form.$invalid || form.$pristine" type="submit" class="btn btn-success">Save</button>
                            <a ng-click="view.asset = null;" class="btn btn-danger">Cancel</a>
                            <div class="btn-group">
                                <a ng-show="assets.length > 1" ng-click="getPicSingle()" class="btn btn-primary">Take specific picture</a>
                                <a ng-show="view.asset.image_specific" ng-click="removePicSingle()" class="btn btn-danger"><i class="icon-trash"></i></a>
                            </div>
                        </div>
                    </form>

PS:如何修复粘贴代码的缩进?

最佳答案

只需将按钮类型从“提交”更改为“按钮”,它就会阻止自动提交。

关于javascript - 防止输入设备提交 angularjs 表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22757199/

相关文章:

javascript - 有没有办法在重新加载页面时覆盖浏览器重新发送表单提示?

c# - 调整表格大小时滞后? - C#

javascript - "Cannot read property ' id ' of undefined"解析在工厂中声明的数组时

javascript - 如何将中继变量设置为枚举值?

javascript - 如何将 ES6 类模块导入 Jasmine 进行测试?

jquery - 如何更改 jQuery UI slider 句柄上的 tabindex?

javascript - Angular js - 在异步调用 $scope.users 后不更新模态值

angularjs - 如何在运行时创建/更改主题

javascript - 到 HTML 文件的 Angular 路由不起作用

javascript - 使用 Jquery 和 Javascript 解析 xml