Итак, у меня был вход с атрибутом max, но я хочу добавить атрибут oninvalid, который показывает сообщение о макс. (допустим, что макс варьирует каждый вход).

Пример:

<input type="number" max="(run function)" oninvalid="please enter the qty equal or less than (max attribute)">

Извините за мой плохой английский и мой плохой вопрос. ти

-1
Rikuto Teshika 23 Окт 2019 в 08:09

2 ответа

Лучший ответ

Если использовать jquery и максимальное значение как 10. возможно, это даст вам представление

 function check(input) {
	 var maxnum = $("input").attr("max");
   if (input.value > maxnum) {
     input.setCustomValidity('Please enter the qty equal or less than (max attribute).');
   }else {
 // input is fine -- reset the error message
 input.setCustomValidity('Hooray');
   } 
 }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<form method="post">
  <b>Number Input (max number is 10):</b>
  <input type="number" min="0"  max = "10" name="number" value="" 
         oninput="check(this)" />
  <input type="submit" class="submit" value="Save" />
</form>
0
Mihsak Yamato 23 Окт 2019 в 05:53

Для этого вам не нужен jQuery, но вы не можете решить его без тега <script>

function check(input) {
    const maxValue = parseInt(input.getAttribute('max'), 10);
    const currentValue = parseInt(input.value, 10);
    if (currentValue > maxValue) {
        input.setCustomValidity(`Maximum value is ${maxValue}`);
    }
}
<form method="post">
    <input type="number" max="500" oninvalid="check(this)">
    <input type="submit" value="submit">
</form>
0
ikarasz 23 Окт 2019 в 06:15
58515851