Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.09.2010, 18:40   #1
ilma55
webber
Форумчанин
 
Аватар для ilma55
 
Регистрация: 28.01.2010
Сообщений: 103
По умолчанию запрет на copy/past в полях форм

как сделать запрет на copy/past в полях форм?
на кой нужен этот autocomplete="off" если он не работает

заметил на сайте http://www.telltalegames.com/mytelltale/register/ в поле Your e-mail address again, to confirm:

очень интересно реализация!
Компьютерные вирусы - это такие маленькие программульки, которые пишут большие говнюки.
ilma55 вне форума Ответить с цитированием
Старый 27.09.2010, 20:07   #2
Никки
Форумчанин Подтвердите свой е-майл
 
Аватар для Никки
 
Регистрация: 20.11.2007
Сообщений: 500
По умолчанию

autocomplete - параметр указывающий будет ли браузер подставлять варианты при заполнении поля. (то есть другие варианты, которые Вы набирали в это поле). этот параметр включён начиная с HTML 5, вполне возможно что IE и старые браузеры его не знают.

Решение просто! Проверяете сколько символов было добавлено за одно событие onkeypress (или onchange... тут надо подумать...) у поля. если больше одного - то значит текст вставили и его нужно удалить.
Никки вне форума Ответить с цитированием
Старый 27.09.2010, 22:07   #3
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

Надо писать хак клавиатуры на js, иначе на Опере такой фокус не пройдёт.
Ниже реализация на jQuery. Возможны зависания анимации.
Код:
/*$(document).keyup(function(event){
	if (event.ctrlKey && event.keyCode == 56) {
	$(:input).val('');
	}
	else return false;
});
Виталий Желтяков вне форума Ответить с цитированием
Старый 27.09.2010, 22:40   #4
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

Цитата:
Сообщение от Виталий Желтяков Посмотреть сообщение
Ниже реализация на jQuery.
Не универсально. А если я вставил мыло через контекстное меню? event это хорошо, но надо его применять в контексте совета №1
SkyM@n вне форума Ответить с цитированием
Старый 28.09.2010, 15:56   #5
Никки
Форумчанин Подтвердите свой е-майл
 
Аватар для Никки
 
Регистрация: 20.11.2007
Сообщений: 500
По умолчанию

Код:
<html>

<body>
<input id="input_box" type="text" onkeyup="ChangeField();" onchange="ChangeField();">


<script>
var fLen = document.getElementById('input_box').value.length;

function ChangeField()
{
	if (document.getElementById('input_box').value.length - fLen > 1)
	{
		document.getElementById('input_box').value = "";
		fLen = 0;
		
	} else fLen = document.getElementById('input_box').value.length;
	
}

</script>
</body>

</html>
предлагаю такой вариант. при вставке с помощью клавиатуры поле очистится сразу, а если через контекстное меню, то при потере фокуса! и не надо никаких хуков.

Последний раз редактировалось Никки; 28.09.2010 в 16:01.
Никки вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запрет нажатия кнопки и запрет неправильного ввода данных De_Kurlzz Помощь студентам 1 15.06.2011 15:14
Как запретить past в Input slips JavaScript, Ajax 4 03.01.2010 21:24
Стили в полях форм shadowbeast Microsoft Office Word 0 28.04.2009 12:16
JPEG и Blob полях Prisian БД в Delphi 5 25.04.2007 09:04
картинки в BLOB полях Toxa БД в Delphi 1 23.04.2007 13:34