[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: не работает пример
Dron19
Всем привет. Вот у меня есть формочка и я хочу, чтобы если не введены никакие значения, то перейти нельзя было, набросал вот такой пример, но почему-то он не хочет работать. Подскажите в чем ошибка?

window.onload = function() {

document.getElementById('in').onfocus = displayStatus;

}
function displayStatus() {

var password = document.getElementById('pass').value;
var name = document.getElementById('log').value;
if(password == '' && name == '') {
document.getElementById('in').display = true;
}

}





Спустя 1 минута, 42 секунды (22.02.2011 - 19:51) Dron19 написал(а):
при этом firebug молчит. Никаких ошибок в коде он не обнаружил

Спустя 1 минута, 29 секунд (22.02.2011 - 19:53) Dron19 написал(а):
Просто по javascript`у у меня опыта почти нет.

Спустя 11 минут, 59 секунд (22.02.2011 - 20:05) T1grOK написал(а):

if(password == '' && name == '') {
document.getElementById('in').display = true;
}

Некоторое противоречие в вашем случае. То есть если пароль и имя не заполнены то отображать. Пробуйте вот так:

if(password == '' || name == '') {
document.getElementById('in').style.visibility = hidden;
}else{
document.getElementById('in').style.visibility = visible;
}

Спустя 3 минуты, 28 секунд (22.02.2011 - 20:08) inpost написал(а):
display = true - что ты этим хотел добиться?

Спустя 42 минуты, 56 секунд (22.02.2011 - 20:51) Dron19 написал(а):
inpost, тьфу блин. Не display, а disabled = true. Перепутал, все поставил и заработало.

Спустя 18 часов, 45 минут, 31 секунда (23.02.2011 - 15:37) Dron19 написал(а):
Переписал функцию таким образом, но теперь вообще переходить по ссылке не хочет.

window.onload = function() {

document.getElementById('in').onfocus = displayStatus;

}
function displayStatus() {

var password = document.getElementById('pass').value;
var name = document.getElementById('log').value;

if(password == '' || name == '') {
document.getElementById('in').disabled = true;
}
else {
document.getElementById('in').disabled = false;
}
}


Спустя 34 минуты, 26 секунд (23.02.2011 - 16:11) sharki написал(а):
Dron19
У меня ка кто была проблема такая, а состоится она именах переменных =)

Спустя 1 час, 46 минут, 27 секунд (23.02.2011 - 17:58) Dron19 написал(а):
кажется ждать нужно kirik`a

Спустя 1 час, 16 минут, 41 секунда (23.02.2011 - 19:14) eXaM написал(а):
А может, не disabled = true, a disabled = "disabled"? И не false, а просто ""?

Спустя 4 минуты, 20 секунд (23.02.2011 - 19:19) DmitryOpalev написал(а):
Я тоже в JS не особо, на раз уж sharki заметил, что дело в переменных, то почему name подсвечивается красным?

Спустя 10 минут, 30 секунд (23.02.2011 - 19:29) eXaM написал(а):
Кстати, а почему один и тот же элемент и используется в событии onfocus, и блокируется? По идее ведь надо воспользоваться onblur текстовой зоны?

Спустя 15 минут, 50 секунд (23.02.2011 - 19:45) Dron19 написал(а):
Цитата (eXaM @ 23.02.2011 - 16:14)
А может, не disabled = true, a disabled = "disabled"? И не false, а просто ""?

одно и тоже

Спустя 5 минут, 59 секунд (23.02.2011 - 19:51) eXaM написал(а):
Культурный шок.

Спустя 5 минут, 17 секунд (23.02.2011 - 19:56) nugle написал(а):
Dron19, такая же проблема была, но не в переменных...Решил так в начале у объекта с индексом in поставь disabled="", у меня стало работать!

Спустя 5 минут, 19 секунд (23.02.2011 - 20:02) Dron19 написал(а):
nugle, у меня-то работает, но не правильно, он у меня вообще не пускает

Спустя 1 минута, 18 секунд (23.02.2011 - 20:03) Dron19 написал(а):
eXaM, а ты так не шокируйся, возьми да проверь, или почитай на крайняк на javascript.ru

Спустя 1 час, 35 минут, 27 секунд (23.02.2011 - 21:38) nugle написал(а):
Dron19, то есть если даже верное то не пускает?
выложи код вместе с формой!

Спустя 42 минуты, 18 секунд (23.02.2011 - 22:21) Dron19 написал(а):
код

window.onload = function() {

document.getElementById('in').onmouseover = displayStatus;

}
function displayStatus() {

var password = document.getElementById('pass').value;
var name = document.getElementById('log').value;

if(password == '' || name == '') {
document.getElementById('in').disabled = true;
}
else {
document.getElementById('in').disabled = false;
}
}


Форма

<form action="authorized.php" method="GET" id="former" name="form" style="margin-top:5px;">
<label>
Email или логи</label><br>
<input
type="text" name="log" id="log" class="forms"><br>
<label>
Пароль</label><br>
<input
type="password" name="pass" id="pass" class="forms"><br>
<input
type="checkbox" name="memory"> - <label>Запомнить меня</label>

<input
type="submit" class="sub" name="in" id="in" disabled="" value="Войти">
</form>


Спустя 15 минут, 7 секунд (23.02.2011 - 22:36) nugle написал(а):
попробуй вот сюда
window.onload = function() {

document.getElementById('in').onmouseover = displayStatus;
var password = document.getElementById('pass').value;
var name = document.getElementById('log').value;

alert(password);
alert(name);
}


Спустя 19 часов, 42 минуты, 9 секунд (24.02.2011 - 18:18) Dron19 написал(а):
пробовал, не выводит вообще сообщений, алерты не выскакивают вообще.

Спустя 1 час, 42 минуты, 56 секунд (24.02.2011 - 20:01) nugle написал(а):
дебаг посмотр , меня смущает, что дисплейстатус без скоб

Спустя 12 минут, 36 секунд (24.02.2011 - 20:13) uWeb написал(а):
Покажи полностью свою форму.

Спустя 1 час, 34 минуты, 30 секунд (24.02.2011 - 21:48) inpost написал(а):
Dron19
Есть у тебя код, делаешь alert('TEXT'); в самом начале, прошел, далее копируешь его и вставляешь после первого запроса, потом после второго - так находишь точку, откуда alert не вызвался, значит запрос предыдущий не прошел.
JS так устроен, когда доходит до логической ошибки - выполнение скрипта останавливается, поэтому отлавливать строчку легко через alert

Спустя 43 минуты, 19 секунд (24.02.2011 - 22:31) uWeb написал(а):
Консоль ошибок вам в помощь.

Спустя 4 часа, 19 минут, 4 секунды (25.02.2011 - 02:50) inpost написал(а):
uWeb
Вот-вот, если бы кто-нибудь написал, как им пользоваться... =)


_____________
PHP+MySQL - уже изучил, осталось всего лишь это:
C,C++,C#,JavaScript,Python,Ruby,Perl,OpenGl,DirectX,ASP.NET - Намерен учить все
Быстрый ответ:

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