[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: javascript применить значение переменной
PiratXXX
Добрый день!

Такая проблема.

Есть форма куда вводиться логин(на форме событие onChange), запускаеться функция проверки длины логина.
Вот код:

<script type="text/javascript">

function RegCheck(arr) {
var Length = document.Reg.arr['Id'].value.length;
if(Length > 3) {
document.getElementById('RegNotice').innerHTML = "";
}
else {
document.getElementById('RegNotice').innerHTML = "Логин слишком короткий!";
}
}

</script>
<
form name="Reg" action="" method="POST">
<
input type="text" name="Login" value="" title="" maxlength="31" onChange="RegCheck({'Id':'Login'})" id="ObjectInput">
</
form>


И функция RegCheck() не работает. тоесть нужно чтобы в строке document.Reg.arr['Id'].value.length; , arr['Id'] была Login.
Я надеюсь вы поняли?
Заранне спасибо!



Спустя 2 минуты, 48 секунд (13.02.2011 - 15:11) waldicom написал(а):
У меня такой странный вопрос. А вот такая конструкция для чего?
RegCheck({'Id':'Login'})

Почему бы просто не передавать id поля или его имя?

Спустя 3 минуты, 34 секунды (13.02.2011 - 15:15) PiratXXX написал(а):
waldicom

ну это для того что бы там еще передаваться будет макс и мин длина поля, сообщение которое выводить при ошибки и т.д. и т.п.

ну суть одно доже если сделать так

<script type="text/javascript">

function RegCheck(Id) {
var Length = document.Reg.Id.value.length;
if(Length > 3) {
document.getElementById('RegNotice').innerHTML = "";
}
else {
document.getElementById('RegNotice').innerHTML = "Логин слишком короткий!";
}
}

</script>
<
form name="Reg" action="" method="POST">
<
input type="text" name="Login" value="" title="" maxlength="31" onChange="RegCheck('Login')" id="ObjectInput">
</
form>

все равно не работает..(((

Спустя 5 минут, 29 секунд (13.02.2011 - 15:20) nugle написал(а):
вот так будет работать
<script type="text/javascript">

function RegCheck() {
var Length = document.getElementById('ObjectInput').value.length;
if(Length > 3) {
document.getElementById('RegNotice').innerHTML = "";
}
else {
document.getElementById('RegNotice').innerHTML = "Логин слишком короткий!";
}
}

</script>
<
form name="Reg" action="" method="POST">
<
input type="text" name="Login" value="" title="" maxlength="31" onChange="RegCheck()" id="ObjectInput"><div id="RegNotice"></div>
</
form>

Спустя 2 минуты, 58 секунд (13.02.2011 - 15:23) waldicom написал(а):
Цитата (nugle @ 13.02.2011 - 13:20)
вот так будет работать

Так-то работать будет, но придется для каждого поля писать свою функцию

Спустя 2 минуты, 26 секунд (13.02.2011 - 15:26) alex12060 написал(а):

<script type="text/javascript">

function
RegCheck() {
var Length = document.getElementById('ObjectInput').value.length;
if(Length < 3) {
document.getElementById('RegNotice').innerHTML = "Логин слишком короткий!";
}
}

</script>
<form
name="Reg" action="" method="POST">
<input
type="text" name="Login" value="" title="" maxlength="31" onChange="RegCheck()" id="ObjectInput"><div id="RegNotice"></div>
</form>



Так проще.

Спустя 2 минуты, 9 секунд (13.02.2011 - 15:28) nugle написал(а):
Цитата
запускаеться функция проверки длины логина

Цитата
Так-то работать будет, но придется для каждого поля писать свою функцию


По его словам только для проверки логина!

alex12060,
тоже самое, просто неизвестно, может он че вместо пустоты запишет!

Спустя 2 часа, 12 минут, 8 секунд (13.02.2011 - 17:40) PiratXXX написал(а):
alex12060
waldicom
nugle

спасибо ребята. НО под каждое поле писать свою функцию не ризон.
А это я пример привел что именно не работает.
Подскажите а?

Вот как должна она использоваться:

<script type="text/javascript">

function RegCheck(arr) {
var Length = document.Reg.arr['Id'].value.length;
if(Length > arr['MinLng']) {
и т.д. пошли дальше другие проверки
}
else {
document.getElementById('RegNotice').innerHTML = arr['MinErr'];
}
}

</script>
<
form name="Reg" action="" method="POST">
<
input type="text" name="Login" value="" title="" maxlength="31" onChange="RegCheck({'Id':'Login', 'MinLng':'3','MaxLng':'15', 'MinErr':'Логин слишком короткий'})" id="ObjectInput">
<
input type="text" name="Pass" value="" title="" maxlength="31" onChange="RegCheck({'Id':'Pass', 'MinLng':'5','MaxLng':'15', 'MinErr':'Пароль слишком короткий'})" id="ObjectInput">
И ТУТ ЕЩЕ ВСЯКЕ РАЗНЫЕ ПОЛЯ...
</
form>

ну вот! Ну Вы поняли что именно я спрашиваю, что у меня не получаеться?

Помогите люди пожалуйста...

Спустя 41 минута, 34 секунды (13.02.2011 - 18:22) Winston написал(а):
Может стоит использовать OnKeyUp вместо OnChange - ведь оно больше подходит для выпадающего списка.

Спустя 8 часов, 11 минут, 6 секунд (14.02.2011 - 02:33) inpost написал(а):
onChange(this) - передавай в функцию. В this - будет сам инпут формы
а внутри: if(this.value.length < 3)

this - ссылка на объект, которым в данным момент пользуемся, зачем городить огород? Вроде в каждом учебнике про this рассказывается, даже Попов про это говорил smile.gif

Спустя 3 минуты, 23 секунды (14.02.2011 - 02:36) PiratXXX написал(а):
inpost

СПАСИБИЩЕ ТЕБЕ ОГРОМНОЕ!!! буду разбираться...

Спустя 2 минуты, 16 секунд (14.02.2011 - 02:38) inpost написал(а):
onChange="wtf(this.value.length)"

function wtf(ids)
{
alert(ids);
}


_____________
http://flibro.com/
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.