Показать сообщение отдельно
  #1 (permalink)  
Старый 09.11.2008, 21:18
Интересующийся
Отправить личное сообщение для reutovo Посмотреть профиль Найти все сообщения от reutovo
 
Регистрация: 09.11.2008
Сообщений: 22

Реализация псведо "captcha"
День всем как сами себе пожелаете.
"Я только учусь" сказал один дядька роясь в капоте "Москвич-412". Так и я, только учусь.

Суть проблемы такова, не как не могу понять почему теряется значение переменной.

function code() {
uri = document.location.search //Типо как в php =)
one = Math.random();
code = parseInt(200 / 84 * 17 + 129 / one - 1)

document.write("<div id='captcha'>"+code+"</div><br>") //выводит картинку бэкграундом, а поверх уже текст.
document.write("<form action='index.html' method='get' name='captcha'>")
document.write("<input name='code' type='text' maxlength='4' value="+code+">") //сюда кладу случайное число.
document.write("<input value='Ok' type='submit'>")
document.write("</form>")
}
//Типа проверка. На деле болт...
if(uri == "?code="+code) {
alert("link")
}
//Ежели дописать:
else {
if(uri != "?code="+code) {
alert("вы ввели неверное число.")
}
//то выводится else.


Вот собственно почему так? Переменная code, хранит данные до перезагрузки странички, верно? Значит и значение value хранит значение до перезагрузки страницы. Отсюда следует, что и при проверке code содержит то самое число, которое было высчитано при загрузке страницы и значение code должно оставаться без изменения, до следующей перезагрузки страницы. Но на деле отнюдь не так( Почему?
Ответить с цитированием