2015-08-04 6 views
1

В следующем примере, как я могу выполнить действие «пробела» при нажатии кнопки ввода?
Что я хочу, когда я нажимаю enter, он добавит пробел, например, когда я нажимаю клавишу пробела.
Как нажимать пробел, когда я нажимаю escape

var textarea = document.getElementById("textarea"); 
 

 
textarea.onkeypress = function(){return (event.charCode >= 48 && event.charCode <= 57)||(event.charCode == 32);};
textarea{ 
 
    height : 100px; 
 
    width : 500px; 
 
}
<textarea id="textarea" placeholder="Here you can only press numbers and space bar !"></textarea>

ответ

2

Добавьте это в ваш код:

if(event.charCode == 13){ 
     textarea.value = textarea.value + " "; 
} 

Полный код:

var textarea = document.getElementById("textarea"); 

textarea.onkeypress = function (event) { 
    if(event.charCode == 13){ 
     textarea.value = textarea.value + " "; 
    } 
    return (event.charCode >= 48 && event.charCode <= 57) || (event.charCode == 32); 
}; 

Here is the JSFiddle demo

+0

Thx. Это я или ваш JSFiddle не работает? –

+0

@Antoine Он работает для меня, я могу вводить только числа и пробелы, а 'enter' добавляет пространство по запросу. Разве это не работает для вас? P.S Я использую Chrome –

+0

@Antoine Он работал с Chrome, а не с Firefox, поскольку Firefox не распознавал переменную 'event' по умолчанию и должен был быть явно определен. Я обновил код, теперь он должен работать :) –

0

var textarea = document.getElementById("textarea"); 
 

 
textarea.onkeypress = function(event){ 
 
\t var code = (event.keyCode ? event.keyCode : event.which); 
 
\t if(!(code == 13 || code == 32 || code == 8 || code == 46 || (code>= 48 && code <= 57))){ 
 
\t \t event.preventDefault(); 
 
\t \t 
 
\t } 
 
\t 
 
};
textarea{ 
 
    height : 100px; 
 
    width : 500px; 
 
}
<textarea id="textarea" placeholder="Here you can only press numbers and space bar !"></textarea>

+0

Thx, там я могу нажать кнопку lettre, я просто номер, пространство и войти. –

+0

U хотите только ввести алфавит и ничего больше? – Solutionswithus

+0

только цифры, пробелы и ввод –