Как установить минимальное входное значение [type = number] в начальное значение при загрузке страницы? - PullRequest
0 голосов
/ 30 мая 2018

Мне нужно, чтобы поле ввода [type = number] принимало только те числа, которые больше начального значения, но не меньше.Я пробовал:

<div class="form-row">
    <label for="SOA_Serial" class="col-sm-2 col-form-label" style="max-width:150px;">Serial: </label>
    <input type="number" id="serial_input" class="form-control" name="SOA_Serial" style="width:330px;" value="<?php echo escape($SOA_array[2]);?>" onchange="document.getElementById('serial_input').min=this.value;">
</div>

Однако есть проблемы.

1) Сначала щелкните стрелку, это позволит мне уменьшить значение один раз, а затем снова.Оно не должно уменьшаться вообще.

2) Если я увеличиваю, то уменьшаю, я не могу вернуться к исходному числу из-за onchange.

Как я могу а) предотвратить уменьшение ниже исходного значения или б) полностью отключить стрелку вниз?Это возможно?

1 Ответ

0 голосов
/ 30 мая 2018

Вы имели в виду что-то подобное?

let changed = (element) => {
  let initial = element.defaultValue * 1;
  if (element.value < initial) {
    element.value = initial;
  }
}
<input type="number" value="24" onchange="changed(this)">


Редактировать: Я только что понял, что для этой цели есть встроенный атрибут, поэтому JavaScript немногоизлишества

<input type="number" value="24" min="24">
...