2014-03-31 3 views
0

바코드에서 스캔하는 스캐너로 입력 텍스트 필드를 채울 응용 프로그램을 개발 중입니다.입력 장치가 angularjs 양식을 제출하는 것을 방지하십시오.

문제는 스캐너가 스캔 할 때 양식을 제출한다는 것입니다. 스캐너에서 비활성화 할 수 없으므로 자체 양식에서 비활성화해야합니다. 나는 다음을 생각하고 있었다 :

<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 :

내 양식처럼 보이는 내가 붙여 코드의 들여 쓰기를 해결 어떻게?

답변

2

버튼 유형을 "제출"에서 "버튼"으로 변경하면 자동 제출을 막을 수 있습니다.

관련 문제