[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Событие переходв по ссылке при обновлении страницы
linf
Необходимо, что бы при нажатии на кнопку обновить страницу, браузер востанавливал значения формы КАК при условии первоначального входа на эту страницу (перейдя по ссылке или вставив в строку адресса ссылку и нажас энтер.)

Вот форма:

<TABLE>
<TR><TD>
<DIV id="items">
<input type="text" value="" class='name' title="имя друга">
<input type="text" value="" class='mail' title="почта друга"><BR>
<DIV id="add"></DIV>
<TD>
<BUTTON type="button" onClick="add();" title="добавить еще"> + </BUTTON>
</DIV>
<TR><TD>
<textarea id="text"><?=$text;?></textarea>
<TD>&nbsp;
<TR><TD><INPUT type="text" id="user_mail" title="Ваш E-mail"> <INPUT type="text" id="user_pay" title="Ваш номер счета">
<TD>&nbsp;
<TR><TD align="center">
<button onclick="send('<?=$admin_mail;?>', '<?=$subj;?>', '<?=$yes;?>', '<?=$no;?>');">отправить</button>
<TD>&nbsp;
</TABLE>


В ней реализуются подсказки форм и добавление полей следующими кодами:




function title(){

$("input:text").each(function(){

if(this.value == '')

{this.value = this.title; $(this).css("color", "#CCC");}

}
);

$("input:text").focus(function(){

if(this.value == this.title)

{this.value = ''; $(this).css("color", "#000");}

}
);

$("input:text").blur(function(){

if(this.value == '')

{this.value = this.title; $(this).css("color", "#CCC");}

}
);

$("input:text").blur(function(){

if(this.value == this.title)

{$(this).css("color", "#CCC");}

}
);

$("input:image, input:button, input:submit, textarea").click(function(){

$(this.form.elements).each(function(){

if(this.type =='text' || this.type =='textarea'){

if(this.value == this.title && this.title != ''){

this.value='';

}

}

}
);

});

}




function add() 

{

div=document.getElementById("items");

button=document.getElementById("add");

items++;

newitem="<input type=\"text\" class=\"name\" title=\"имя друга\"> <input type=\"text\" class=\"mail\" title=\"почта друга\"><br>";

newnode=document.createElement("span");

newnode.innerHTML=newitem;

div.insertBefore(newnode,button);

//покажем подсказки в новых полях:

title();

}


Функци подсказок запускается: <BODY onLoad="title();"> на странице с формой

----
В общем при переходе по ссылке - все нормально, при нажатии кнопки обновить, данные в полях формы остаются, а в незаполненных подсказки становится того же цвета что и информация.

Добавление полей при этом работает нормально.




Спустя 4 часа, 4 минуты, 22 секунды (8.11.2011 - 07:52) redreem написал(а):
1. какую кнопку ты имеешь ввиду под кнопкой "обновить страницу"? кнопку браузера (f5) или свою какую?
2. если "свою", то где она?
3. если она - это кнопка отправить, то покажи функцию send()

а вообще, то что точно нужно сделать, так это вместо <BODY onLoad="title();"> использовать

$(document).ready(function(){
title();
});


Спустя 18 часов, 40 минут, 52 секунды (9.11.2011 - 02:33) linf написал(а):
redreem
Я имею ввиду Кнопку браузера "Обновить", или нажатие F5...

Толку не какого даже при использовании вашей функции. sad.gif

Спустя 6 часов, 40 минут, 32 секунды (9.11.2011 - 09:13) redreem написал(а):
тогда я не понимаю вот этого утверждения:

Цитата
" при нажатии кнопки обновить, данные в полях формы остаются..."


при f5 как раз таки все трется на исходныу. как там могут оставаться данные?
может твоя проблема возникает после того как ты уже что-то отправил на сервер ажаксом?
я же говорю - выкладывай submit().

скорее все ты ajaxom возвращаешь опять полную страницу, а ждешь только к кусок. вот скрипти при перезаливании и начинают глючить. посмотри ответ от сервера ghb ажаксе и выкинь из него повторные заливания скриптов.

Спустя 10 минут, 35 секунд (9.11.2011 - 09:24) linf написал(а):
Цитата (redreem @ 9.11.2011 - 10:13)
тогда я не понимаю вот этого утверждения:

Цитата
" при нажатии кнопки обновить, данные в полях формы остаются..."


при f5 как раз таки все трется на исходныу. как там могут оставаться данные?
может твоя проблема возникает после того как ты уже что-то отправил на сервер ажаксом?
я же говорю - выкладывай submit().

скорее все ты ajaxom возвращаешь опять полную страницу, а ждешь только к кусок. вот скрипти при перезаливании и начинают глючить. посмотри ответ от сервера ghb ажаксе и выкинь из него повторные заливания скриптов.

submit() может и не быть, без него работает так же. Просто не очищается форма. Речь НЕ ИДЕТ об ее отправке, речь о том, что человек зашел на страницу, заполнил форму, и если просто нажмет кнопку браузера обновить (или F5) форма должна придти в исходный вид.

еще раз: НИЧЕГО НЕ КУДА НЕ ОТПРАВЛЯЕТСЯ, интересует только форма.
это НЕ вопрос о повторной отправке данных или чем то подобном.


Спустя 34 минуты, 9 секунд (9.11.2011 - 09:58) sergeiss написал(а):
Цитата (linf @ 9.11.2011 - 10:24)
Речь НЕ ИДЕТ об ее отправке, речь о том, что человек зашел на страницу, заполнил форму, и если просто нажмет кнопку браузера обновить (или F5) форма должна придти в исходный вид.

Вообще-то, это дефолтное поведение. И тебе уже сказали, по-моему весьма понятно, что у тебя где-то что-то дополнительно обрабатывается.

Вот попробуй создать другую форму и не делать ничего на JS для неё. Она так и будет "в ноль" сбрасываться при нажатии F5.

Либо, второй вариант, ты УЖЕ НАЖАЛ кнопку сабмит, после чего хочешь нажать F5 и обновить данные? Если да, то это совсем другое дело smile.gif

Спустя 34 минуты, 58 секунд (9.11.2011 - 10:33) redreem написал(а):
не может такого быть, что ненажимая сабмит, просто введя что-то в форму и нажав f5 данные в ней сохранятся. им просто неоткуда взяться будет. короче пока ты скрываешь половину активного кода смсла рыться тут нет.

Спустя 3 дня, 17 часов, 58 минут, 50 секунд (13.11.2011 - 04:32) linf написал(а):
sergeiss
redreem

Весь прикол в том, что ничего данные не держит.
Может быть их держать те скрпты, код которых я написал в первом посте?
Потому что больше ничего нет.

P.S. У самого подозрение, что бразер что то кэширует, может такое быть? sad.gif
добавил метатеги с запретом кэширования все равное кэширует


_____________
Live in new format =)
Быстрый ответ:

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