Такая проблема.
Есть форма куда вводиться логин(на форме событие 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 написал(а):
У меня такой странный вопрос. А вот такая конструкция для чего?
Почему бы просто не передавать id поля или его имя?
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
спасибо ребята. НО под каждое поле писать свою функцию не ризон.
А это я пример привел что именно не работает.
Подскажите а?
Вот как должна она использоваться:
ну вот! Ну Вы поняли что именно я спрашиваю, что у меня не получаеться?
Помогите люди пожалуйста...
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 рассказывается, даже Попов про это говорил
а внутри: if(this.value.length < 3)
this - ссылка на объект, которым в данным момент пользуемся, зачем городить огород? Вроде в каждом учебнике про this рассказывается, даже Попов про это говорил

Спустя 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/