Как ограничить "тип = число" определенными десятичными знаками - PullRequest
0 голосов
/ 29 мая 2019

Я занимаюсь разработкой приложения, в котором мне требуется ограничить количество «тип = число», поданных в определенные (2 места) места.Ниже приведены правила HTML для элемента: Пожалуйста, кто-нибудь может помочь мне в этом вопросе, Спасибо заранее:

 <input type="number" name="amount" ng-model="orderStock.amount" class="form-control" id="amount"
                        step="0.01" min="10" max="9999.99" placeholder=" Please enter Amount" ng-disabled="isDisabled"
                        required />

1 Ответ

2 голосов
/ 29 мая 2019

Вы можете присоединить прослушиватель событий input к вашему элементу input и проверить, содержит ли его значение запятую.Если это так, проверьте, есть ли более двух символов справа от запятой и удалите лишние.

function process() {
  var text = document.getElementById("amount").value;
  var index = text.indexOf(".");
  if (index > -1) {
    if (text.length - index > 3) {
      document.getElementById("amount").value = text.substr(0, text.length - 1);
    }
  }
}
document.getElementById("amount").addEventListener("input", process);
<input type="number" name="amount" ng-model="orderStock.amount" class="form-control" id="amount" step="0.01" min="10" max="9999.99" placeholder=" Please enter Amount" ng-disabled="isDisabled" required />

Если вы хотите, чтобы весь код был внутри тега html, вы можете сделать это:

<input type="number" name="amount" ng-model="orderStock.amount" class="form-control" id="amount" step="0.01" min="10" max="9999.99" oninput="var text = this.value;var index = text.indexOf('.');if (index > -1) {if (text.length - index > 3) {this.value = text.substr(0, text.length - 1);}}" placeholder=" Please enter Amount" ng-disabled="isDisabled" required />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...