Javascript - увеличение числа в форме

Я просто пытаюсь увеличить число в форме. Это работает, но вход большой, безуспешно пытались изменить размер. И я не хочу, чтобы приращение вверх / вниз внутри поля ввода. Изменение поля на текст дает мне правильный размер, а не вверх / вниз. Но приращение не работает.

Есть способ попроще. Кроме того, когда я вставляю тег <form>, кнопка «плюс-минус» не работает.

function HaFunction() {
  document.getElementById("HNumber").stepUp();
}

function HmFunction() {
  document.getElementById("HNumber").stepDown();
}
Number: <input type = "number" id = "HNumber" class=verd15 value = "0">
<span class=verd13>
  <button onclick = "HaFunction()"><b>+</b></button>
  <button onclick = "HmFunction()"><b>-</b></button>
</span>

Если вы поместите его в <form>, кнопки по умолчанию будут type = "submit". Используйте type = "button", чтобы изменить это.

Barmar 10.12.2018 20:49
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
1
373
2

Ответы 2

Вы можете уменьшить размер ввода с помощью CSS:

<input style = "width:40px" type = "number" id = "HNumber" class=verd15 value = "0">

Надеюсь, это помогло

Я получаю ширину, но все равно оставляет стрелки увеличения / уменьшения.

Merle_the_Pearl 10.12.2018 21:13

Как писал @Barmar выше - вы можете увеличить его в javascript, а затем ввести новое значение обратно во вход

Jan Jůna 11.12.2018 00:56

Вы можете написать свою собственную функцию, которая увеличивает число при вводе текста.

Если у вас есть форма, убедитесь, что ваши кнопки используют type = "button". По умолчанию это type = "submit", поэтому при нажатии на кнопку форма будет отправлена, и вы перезагрузите страницу.

function addToInput(element, amount) {
  var val = parseInt(element.value, 10) || 0;
  val += amount;
  element.value = val;
}

function HaFunction() {
  addToInput(document.getElementById("HNumber"), 1);
}

function HmFunction() {
  addToInput(document.getElementById("HNumber"), -1);
}
<form>
  Number: <input type = "text" id = "HNumber" class=verd15 value = "0">
  <span class=verd13>
    <button type = "button" onclick = "HaFunction()"><b>+</b></button>
    <button type = "button" onclick = "HmFunction()"><b>-</b></button>
  </span>
</form>

Да, работает, пока я не вставлю код ввода в тег <form>, тогда все выйдет из строя. Как и в предыдущих примерах, которые я использую. Кроме того, как ни странно, при грамотном форматировании поле ввода помещается перед текстом, а не после него.

Merle_the_Pearl 10.12.2018 21:14

Вы перешли на type = "button", как я предлагал выше?

Barmar 10.12.2018 21:17

Невозможно воспроизвести проблему форматирования, вероятно, это связано с вашим CSS.

Barmar 10.12.2018 21:21

Другие вопросы по теме