Мне нужно установить текстовое поле в JavaScript - PullRequest
0 голосов
/ 29 ноября 2011

У меня есть функция ниже, которая создает текстовое поле, которое позволяет только ввод чисел, это появляется каждый раз, когда появляется новая строка.Мой вопрос заключается в том, что я не знаю, как кодировать эти функции в текстовом поле: поле

  1. не позволяет вводить буквы (если вводится буква, то она будет возвращаться назадавтоматически)

  2. числа могут быть только от 0 до 100, если меньше 0, то отображать 0, если число больше 100, отображать 100

Кто-нибудь знает, как кодировать это с моей функцией ниже в JavaScript:

function insertQuestion(form) 
{   

     var row = document.createElement("tr");
     var cell, input;

cell = document.createElement("td");
     cell.className = "weight";
     input = document.createElement("input");
     input.name = "weight_" + qnum;
     input.onkeypress = "return isNumberKey(event)";
     cell.appendChild(input);
     row.appendChild(cell);
}

Ответы [ 3 ]

1 голос
/ 29 ноября 2011

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

Этот ответ приведет вас в правильном направлении:

оповещать о включении клавиш, только если ключ является буквойили номер

0 голосов
/ 29 ноября 2011

Добавьте это к событию ввода onblur или onkeypress:

function leaveTextBoxFunc(){
    textBoxVal = document.getElementById('<your_input_element_id').value;
    if(isNaN(textBoxVal))
    {
      document.getElementById('<your_input_element_id').value = '';
      return;
    }
    if( parseFloat(textBoxVal)>100)
       document.getElementById('<your_input_element_id>').value = 100;

    if(parseFloat(textBoxVal)<0)
       document.getElementById('<your_input_element_id>').value = 0;
}



input.onblur = function(){ leaveTextBoxFunc() };

или

input.onkeypress = function(){ leaveTextBoxFunc() };
0 голосов
/ 29 ноября 2011

Вам необходимо установить тип элемента input, например, так:

input.type = "text";

Не тестировал, но должен выполнять работу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...