Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.12.2009, 20:39   #1
Gerb22
Пользователь
 
Регистрация: 10.11.2009
Сообщений: 48
Смех JS, выключение сабмита

Такая трабла. Если в форме стоит что-либо типа
Код HTML:
onsubmit="this.submit.disabled=true;"
то в некоторых браузерах (например, FF), в случае возврата на страничку с формой через history.go(-1) (кнопку браузера "назад"), кнопка в форме остается выключенной.

Как это можно исправить?
Gerb22 вне форума Ответить с цитированием
Старый 10.12.2009, 21:52   #2
spein
Программист
Форумчанин
 
Аватар для spein
 
Регистрация: 27.02.2009
Сообщений: 505
По умолчанию

попробуй в боди пропиши OnLoad="класс.submit.disabled=false ;"
there are no limits when you're software engineer
spein вне форума Ответить с цитированием
Старый 10.12.2009, 22:09   #3
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

Код можно посмотреть, если актуально?
SkyM@n вне форума Ответить с цитированием
Старый 12.12.2009, 18:22   #4
Gerb22
Пользователь
 
Регистрация: 10.11.2009
Сообщений: 48
По умолчанию

SkyM@n, актуально как никогда

Код:
<form action="code.html?qwerty" method="post" onsubmit="this.submit.disabled=true;">
<input type="submit" id="submit">
</form>
файл code.html, смотреть под FireFox (напоминаю - нажать на субмит, потом бэкспейс - вернуться обратно), в IE все ок

spein, ну это было бы несколько неудобно... но, все равно, оно не работает, т.к. событие OnLoad походу именно при загрузке, а не бэкварде работает, сейчас подниму книженцию свою, гляну что там есть, в JS не силён
Gerb22 вне форума Ответить с цитированием
Старый 14.12.2009, 01:02   #5
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

Это, конечно, не панацея, но может помочь. Воспользуйтесь методом товарища spein. Но при этом для предыдущей страницы нужно поставить хедер Cache Control в "no cache", чтобы страница не кешировалась, поэтому, при нажатии "назад" сработает событие onLoad и поставит ваш сабмит во включенное состояние.
MaTBeu вне форума Ответить с цитированием
Старый 15.12.2009, 17:06   #6
Gerb22
Пользователь
 
Регистрация: 10.11.2009
Сообщений: 48
По умолчанию

MaTBeu, хеадеры и так такие стоят. Не помогает, т.к. насколько я понимаю, так и должно быть - кеш не работает в течение сессии окна/вкладки браузера, в это время странички (в том числе и предыдущие) висят в ОЗУ.

А возврат - это просто возврат к предыдущему состоянию страницы, а не ее загрузка: попробуйте ввести в инпут какой-то текст, перейти назад/вперед и обратно - не важно, или по ссылке, потом назад. Введенный в инпут текст будет на месте, хоть он и не является частью HTML документа, и в кеше его не будет.

Единственное, что изменяется при добавлении онлоада - кнопка включается по F5 (без onload-a помогает только Ctrl + F5).

Проблема актуальна. Буду благодарен за помощь, если это вообще разрешимо
Gerb22 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выключение. atlon Общие вопросы C/C++ 11 27.02.2011 19:12
выключение Maddrag Операционные системы общие вопросы 1 01.10.2009 22:06
Выключение ПК W0LF Общие вопросы Delphi 7 24.07.2009 18:32
Выключение компьютера aesoem Общие вопросы Delphi 2 03.07.2008 16:50
Выключение клавиатуры JoanM Общие вопросы Delphi 5 30.05.2008 06:58