Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.03.2012, 13:25
Профессор
Отправить личное сообщение для bpystep Посмотреть профиль Найти все сообщения от bpystep
 
Регистрация: 06.08.2010
Сообщений: 161

Появление кнопки при успешной валидации
есть вот такой скрипт:

function regular(reg, flags, nValue) {
	var myReg = new RegExp (reg, flags);
	if (myReg.exec(nValue)) return true;
	else return false;
}

function validation(node) {
	if (node.name == 'login') {
		var reg = "^[\.\s 0-9a-zA-Z_-]+$";
		var flags = "";
		var p = regular(reg, flags, node.value);
		if (p) {
			node.style.color = "#00ff00";
			document.all.tr5.cells[2].innerText="";
		}
		else {
			node.style.color = "#ff0000";
			document.all.tr5.cells[2].innerText="допустимы латинские символы, цифры, подчеркивание, тире, точка, пробел";
			document.all.tr5.cells[2].style.color="#ffff00";
		}	
	}
if (//что здесь) {
		document.all.button.cells[0].innerHTML="<input type='submit' name='sub_register' value='Зарегистрироваться'>";
	}


<tr id="tr5">
	<td>Логин</td>
	<td><input onChange="validation(this)" type="text" size="10" name="login"></td>
	<td></td>
</tr>


как сделать чтобы при успешном прохождении regular() появилась кнопочка "Зарегистрироваться"?

п.с. есстественно логин не единственный параметр который вызывает regular().
Ответить с цитированием
  #2 (permalink)  
Старый 17.03.2012, 15:02
Аспирант
Отправить личное сообщение для karmis Посмотреть профиль Найти все сообщения от karmis
 
Регистрация: 25.06.2011
Сообщений: 44

всегда делаю флаг с ошибками и затем проверяю ..
изначально кнопка скрыта.
Если ошибки есть -- ничего не меняю, иначе показать кнопку
Ответить с цитированием
  #3 (permalink)  
Старый 17.03.2012, 16:44
Профессор
Отправить личное сообщение для bpystep Посмотреть профиль Найти все сообщения от bpystep
 
Регистрация: 06.08.2010
Сообщений: 161

можно поподробнее с флагом, я так понимаю что вы имеете в виду чтото типа этого:
if (p) {
            node.style.color = "#00ff00";
            document.all.tr5.cells[2].innerText="";
            var flag = true;
        }
        else {
            node.style.color = "#ff0000";
            document.all.tr5.cells[2].innerText="допустимы латинские символы, цифры, подчеркивание, тире, точка, пробел";
            document.all.tr5.cells[2].style.color="#ffff00";
            var flag = false;
        }
}
if (flag) {
        document.all.button.cells[0].innerHTML="<input type='submit' name='sub_register' value='Зарегистрироваться'>";
    }


но я
ту функцию буду вызывать не только для проверки логина, еще и для других полей регистрации, и флаг будет работать только для данного поля, а в проверки же должно быть и для остальных полей. или я не так понял?
Ответить с цитированием
  #4 (permalink)  
Старый 17.03.2012, 17:22
Аспирант
Отправить личное сообщение для karmis Посмотреть профиль Найти все сообщения от karmis
 
Регистрация: 25.06.2011
Сообщений: 44

если не очень красиво -- то много флагов
если красивее -- то можно массив с ошибками
если для ленивых -- то можно валидатор на том же jQuery

я лично делаю так

var error=0;
function validator(value)
   {
   если есть ошибки
     error=1;
     прячем кнопку
иначе
    error=0;
    показываем кнопку
   }

<input type='text' id='login' onblur="validator(this.value)">
<input type='text' id='pass' onblur="validator(this.value)">
<input type='text' id='name' onblur="validator(this.value)">
...
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получение данных строки грида при нажатии сторонней кнопки Allan Stark ExtJS 4 17.11.2011 19:21
Восстановление hidden field при нажатии кнопки Назад в браузере debugx Элементы интерфейса 1 19.10.2011 19:03
Активация/Деактивация кнопки при щелчке по чекбоксу Bandicoot Общие вопросы Javascript 5 22.02.2011 15:01
при нажатии на картинку(типа кнопки) скрывать и показывать DIV Russianmaniac Элементы интерфейса 4 28.11.2010 00:47
Появление текста при наведении курсора на ссылку Александра Элементы интерфейса 1 11.05.2009 00:22