Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Запрет ввода символа (https://javascript.ru/forum/jquery/4483-zapret-vvoda-simvola.html)

Rezet 26.07.2009 07:12

Запрет ввода символа
 
Пытаюсь перехватить нажатый символ. Если пользователь нажмет на ~(126) либо (`), то не печатать их, а остальные печатать в #textarea1
Код:

$("#textarea1").keypress(function (zh) {
                       
                        if ((zh.which != 126) && (zh.which != 96)) {
                        var c = String.fromCharCode(e.which);
                        $("#textarea1").append(c);
                       
}
});

Также пробовал
Код:

$("#textarea1").keypress(function (zh) {
                       
                        if ((zh.which != 126) && (zh.which != 96)) {
                        var c = String.fromCharCode(e.which);
                        $("#textarea1").append(c);
                       
} else {
$("#textarea1").append("");
});

Подскажите, что-то не пойму почему не получается.

x-yuri 26.07.2009 19:57

назначаешь обработчик до того, как элемент создан?

Rezet 27.07.2009 08:48

Не понял...

Rezet 28.07.2009 09:12

Объясните пожалуйста

Riim 28.07.2009 09:54

Цитата:

Сообщение от Rezet
Объясните пожалуйста

После window.onload нужно твой код выполнять.

Rezet 28.07.2009 10:11

$(document).ready(function()
	{
		
			
	$("#textarea1").keypress(function (zh) {
				
		var c = String.fromCharCode(zh.which);		
		if ((zh.which != 126) && (zh.which != 96)) {
		$(this).append(c);
		
				
	} else {
		$(this).append("");
				
				
	});
		
	
});

вот мой полный код

//Понял в чем косяк был) Забыл закрыть else!!! )


$(document).ready(function()
	{
		
			
	$("#textarea1").keypress(function (zh) {
				
		if ((zh.which != 126) && (zh.which != 96)) {
		return true;
		
				
	} else {
		return false;
				
	}			
	});
		
	
});

вот так все работает)
Все оказалось проще чем я думал


Часовой пояс GMT +3, время: 00:15.