2017-05-19 1 views
2

Das maxlength-HTML5-Attribut funktioniert auf Mobilgeräten für Texteingabefelder nicht ordnungsgemäß. Wenn die Zifferntastatur aktiviert ist, funktioniert es, aber es funktioniert nicht, wenn Texttastatur verwendet wird.Wie wird die maximale Länge für den Ionic 1-Eingangstyp festgelegt?

Code:

<ion-content class="p-l-10 p-r-10 had-header form_page"> 
<form ng-submit="vm.addAdvance()"> 
    <div class="list"> 
    <label class="item item-input InputFormFull"> 
     <span class="input-label">{{'note_message' | translate}}</span> 
     <input type="text" placeholder="{{'notes_message' | translate}}" 
     ng-model="vm.advance.description" id="field2" ng-change="vm.fillStarted()" size="5" maxlength="5" required> 
    </label> 
    <button class="button trans-but m-t-10" type="submit">{{'save_message' | translate}}</button> 
    </div> 
</form> 

+0

können Sie Ihren Code in einem Plunker setzen, dies zu reproduzieren? – tanmay

+0

Aber es funktioniert gut in Browser dann, was ist das Problem –

+0

@ Tanmay Browser Seite funktioniert, aber mobile Seite funktioniert nicht –

Antwort

0

Mögliche doppelte: Input maxlength does not work on Android -Ionic

Versuchen Sie, Ihre eigene Richtlinie zu erstellen:

myApp.directive('limitChar', function() { 
    'use strict'; 
    return { 
     restrict: 'A', 
     scope: { 
      limit: '=limit', 
      ngModel: '=ngModel' 
     }, 
     link: function(scope) { 
      scope.$watch('ngModel', function(newValue, oldValue) { 
       if (newValue) { 
        var length = newValue.toString().length; 
        if (length > scope.limit) { 
         scope.ngModel = oldValue; 
        } 
       } 
      }); 
     } 
    }; 
}) 

Html:

<input type="text" limit-char limit="5"> 
Verwandte Themen