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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.08.2010, 22:27   #1
MiK_on
Пользователь
 
Регистрация: 15.04.2010
Сообщений: 11
По умолчанию запрет ввода символов в форму

Привет. Есть сайт с динамическими страницами, написанными на ASP.JavaScript, которые содержат форму:

<form ACTION="<%=MM_editAction%>" METHOD="POST" id="form1" name="form1">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="18%" nowrap="nowrap">Регион;
<input name="textfield" type="text" id="textfield" maxlength="25" />
</td>
<td width="8%"><label>
<input type="submit" name="button" id="button" value="Отправить" />
</label></td>
<input type="hidden" name="MM_insert" value="form1" />
</form>

Хочу запретить ввод некоторых символов (<>`\ и т.д.). Порылся в нете и нашёл следующую функцию:
function RegularExpressionValidatorEvaluateI sValid(val) {
var value = ValidatorGetValue(val.controltovali date);
if (ValidatorTrim(value).length == 0) {
return true;
}
var rx = new RegExp(val.validationexpression);
var matches = rx.exec(value);
return (matches != null && value == matches[0]);
}

Вопрос: как связать теперь форму и функцию?? и куда собственно прописывать запрещённые символы ?..

PS. Сайт создавлся с помощью Dreamweaver4.
MiK_on вне форума Ответить с цитированием
Старый 18.08.2010, 22:46   #2
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

Подход изначально неправильный.
Надо не запрещать вводить, а указывать на ошибки ввода и окончательно проверять на сервере.
Пример:
- на input вешаем onKeyUp="javascript: Check()"
- в код js добавляем соответствующую функцию (проверка логина):
Код:
function Check() {
	// Считываем вводимое значение
	var reglogin = $("#reglogin").val();
	// Проверка изменения полей
	if ((prev_login==reglogin)||(reglogin == '')) {
		return;
	}
	else {
		// Запываем предыдущий логин
		prev_login = reglogin;
		var checklogin = /[^((\w)|(А-Яа-я-)|(\s))]/;
		ShowCheckLogin('5');
		// Проверка длины логина
		if ((reglogin.length > 20)||(reglogin.length < 5)) {
			// Показать ошибку длины
			ShowCheckLogin('1');
			return;
		}
		// Проверка на допустимые символы
        else if (checklogin.exec(reglogin) != null) {
			ShowCheckLogin('4');
			return;
		}
		SendRequest('checklogin',reglogin);
	}
}
Виталий Желтяков вне форума Ответить с цитированием
Старый 18.08.2010, 23:03   #3
MiK_on
Пользователь
 
Регистрация: 15.04.2010
Сообщений: 11
По умолчанию

Виталий, спасибо за ответ. Хочу уточнить:

- на input вешаем onKeyUp="javascript: Check()"
/// примерно так?:
<input name="textfield" onKeyUp="javascript: Check()" type="text" id="textfield" maxlength="25" />



/// и как правильно указать текст ошибок 1,4,5 ?..
MiK_on вне форума Ответить с цитированием
Старый 19.08.2010, 08:37   #4
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

Цитата:
- на input вешаем onKeyUp="javascript: Check()"
/// примерно так?:
<input name="textfield" onKeyUp="javascript: Check()" type="text" id="textfield" maxlength="25" />
Да, правильно.
Цитата:
и как правильно указать текст ошибок 1,4,5
Я лично делал 5 скрытых (display: none) div-ов с текстом ошибок ("Длина не может быть больше Х символов", "Неверные символы в слове"). А процедура ShowCheckLogin('Х'); скрывала все div и показывала необходимый. Конечно, Вы можете придумать что-то своё.
p.s. SendRequest('checklogin',reglogin); - функция проверки доступности логина на сервере.
Виталий Желтяков вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запрет нажатия кнопки и запрет неправильного ввода данных De_Kurlzz Помощь студентам 1 15.06.2011 15:14
Запрет ввода с клавиатуры DoGFoX Помощь студентам 5 16.06.2010 23:40
Как сделать запрет ввода букв в поле для ввода input zvezda_t PHP 1 27.12.2009 22:02
Запрет ввода в Stringgrid D-Snaker Помощь студентам 1 18.06.2009 08:08
Запрет ввода кирилических символов wnuks Microsoft Office Excel 1 12.07.2007 19:45