Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.12.2014, 20:53
Интересующийся
Отправить личное сообщение для arkada38 Посмотреть профиль Найти все сообщения от arkada38
 
Регистрация: 09.10.2012
Сообщений: 23

Вставка символа в input
Появилась необходимость реализации вставки символа "-" и "," в числовое поле ввода (именно input type="number") нажатием разных кнопок.
Если с запятой можно обойтись
input.value+=",";
, то с минусом так не выходит.
Видел код на JQuery, эмулирующий нажатие клавиш клавиатуры, но хочется сделать это на чистом javascript.
Как вставлять необходимый символ в пустое поле или эмулировать нажатие клавиши клавиатуры?
Заранее спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 21.12.2014, 21:37
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

<input type="number" value="5" id="mynumber">
<input type="button" value="-" onclick="mynumber.value = -mynumber.value;"/>
Ответить с цитированием
  #3 (permalink)  
Старый 21.12.2014, 22:03
Интересующийся
Отправить личное сообщение для arkada38 Посмотреть профиль Найти все сообщения от arkada38
 
Регистрация: 09.10.2012
Сообщений: 23

Я так уже делал и написал, что не подходит. Здесь нельзя нажать кнопку минус, вводить числа и получить отрицательный результат
<input type="number" value="5" id="mynumber">
<input type="button" value="-" onclick="mynumber.value = -mynumber.value; mynumber.focus()"/>

Нужно, чтобы при нажатии кнопки минус, поле получало фокус, а его значение при изменении (дальнейшем вводе с клавиатуры) было отрицательным.
Ответить с цитированием
  #4 (permalink)  
Старый 21.12.2014, 22:12
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

<input type="number" value="5" id="mynumber">
    <script>
      document.getElementById('mynumber').onkeypress = function (e) {
        if (e.charCode == 45) {
          this.value = -this.value; //this.value *= -1;
          return false;
        }
      };
</script>

Последний раз редактировалось Vlasenko Fedor, 21.12.2014 в 22:21.
Ответить с цитированием
  #5 (permalink)  
Старый 21.12.2014, 22:22
Интересующийся
Отправить личное сообщение для arkada38 Посмотреть профиль Найти все сообщения от arkada38
 
Регистрация: 09.10.2012
Сообщений: 23

Спасибо за ответ.

Я сейчас сделал следующее, при нажатии кнопки минус некой переменной присваивается значение true, при изменении поля пользователем проверяется переменная на true/false и выводится результат. Это работает, но не показывает символ минус при пустом поле.

Ваш код, как я понял, отлавливает событие нажатия кнопки - на клавиатуре. У меня же доступна только мобильная цифровая клавиатура. Очень часто на ней кнопка - отсутствует, поэтому и делаю виртуальную кнопку, которая должна функционально заменить клавиатуру.

Я пробовал не ждать событие нажатия, а создавать его, но не получалось написать рабочий код. Вы его не знаете?
Ответить с цитированием
  #6 (permalink)  
Старый 21.12.2014, 22:34
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

тут ты завел меня в тупик. нажатие кнопки вариант 1 или можно повесить событие на кнопку. Нажатие на клавишу - привел(вешай событие на виртуальную кнопку)
<input type="number" value="5" id="mynumber">
    <input type="button" value="-" id="minus">
    <script>
      document.getElementById('mynumber').onkeypress = function (e) {
        if (e.charCode == 45) {
          this.value *= -1;
          return false;
        }
      };
      document.getElementById('minus').onclick = function () {
        document.getElementById('mynumber').value *= -1;
      };
    </script>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вставка в texarea из input qwe88 Общие вопросы Javascript 5 28.10.2014 14:44
вставка в input Verbal Элементы интерфейса 3 14.07.2014 12:36
Вставка в input текста с оформлением cript Элементы интерфейса 1 07.05.2014 22:21
автоматическая вставка курсора в input Юсуф Элементы интерфейса 3 06.04.2014 20:48
При добавлении DOCTYPE "плывут" размеры input type=text Demath (X)HTML/CSS 4 08.07.2012 19:27