Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.10.2010, 09:52
Кандидат Javascript-наук
Отправить личное сообщение для lolka84 Посмотреть профиль Найти все сообщения от lolka84
 
Регистрация: 23.08.2010
Сообщений: 123

setTimeout. Что не так делаю ?
Добрый день.
Имеем:
<form>
.....
.....
<input type='submit' value='Сохр.' name='svtr' style='width:40px; height:18px; font-size:9px;' onclick='closetrtimer()' />
</form>

function closetrtimer() {
  window.setTimeout("closetr();",1000);
}
function closetr() {
	    if (confirm("Закончить редактирование?")) {
	        return true;
	    } else {
	        return false;
	    }
	}

Хочу, что б при клике на кнопку отправлялась форма и через секунду вылезал alert. Данный пример не делает вообще нечего: т.е. форма уходит, а js сообщения нет. В консоли ошибок пусто, браузер opera.
Где ошибка ?
Ответить с цитированием
  #2 (permalink)  
Старый 13.10.2010, 10:13
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Весь код покажите.
Ответить с цитированием
  #3 (permalink)  
Старый 13.10.2010, 10:15
Кандидат Javascript-наук
Отправить личное сообщение для lolka84 Посмотреть профиль Найти все сообщения от lolka84
 
Регистрация: 23.08.2010
Сообщений: 123

Ээм, пардон, весь код чего ?
Форма там немаленькая, js скрипты подключаются отдельным файлом, если вы это имеете в виду.
Ответить с цитированием
  #4 (permalink)  
Старый 13.10.2010, 10:17
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Я имею в виду, что приведённый код на первый взгляд рабочий. Но неизвестно, что там вокруг него. Сделайте минимальный неработающий пример и покажите его. Хотя, скорее всего, в процессе создания этого примера вы сами найдёте ошибку.
Ответить с цитированием
  #5 (permalink)  
Старый 13.10.2010, 10:21
Кандидат Javascript-наук
Отправить личное сообщение для lolka84 Посмотреть профиль Найти все сообщения от lolka84
 
Регистрация: 23.08.2010
Сообщений: 123

Если сразу вызывать 2ю функцию, то все ок, скрипт работает. Через функцию с таймером - не работает.
Т.е. onclick='closetr()' - все ок, onclick='closetrtimer()' - никакой реакции.
Ответить с цитированием
  #6 (permalink)  
Старый 13.10.2010, 10:24
Кандидат Javascript-наук
Отправить личное сообщение для lolka84 Посмотреть профиль Найти все сообщения от lolka84
 
Регистрация: 23.08.2010
Сообщений: 123

Мысль посетила: мы жмем кнопку, запускается таймер, форма уходит на обработку, страница обновляется. Вот при этом обновлении мож таймер както сбрасывается ? В этом может дело ?
Ответить с цитированием
  #7 (permalink)  
Старый 13.10.2010, 10:30
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Конечно при перезагрузке страницы скрипты тоже перезагружаются.
Ответить с цитированием
  #8 (permalink)  
Старый 13.10.2010, 10:41
Кандидат Javascript-наук
Отправить личное сообщение для lolka84 Посмотреть профиль Найти все сообщения от lolka84
 
Регистрация: 23.08.2010
Сообщений: 123

Ок, тогда с самого начала все расскажу:
Есть два файла - 1.php и 2.php.
В 1.php при нажатии на кнопку создаем окно, куда грузим 2.php:
<input type='button' value='Редактировать' onclick="window.open('2.php', 'wndname', 'параметры');" style='width:90px; height:15px; font-size:10px; margin:2px 0 0 5px;'  />

В 2.php форма, которая описана в первом посте.
Идея такая: в созданном окне "wndname", куда грузится 2.php, после совершенных манипуляций в форме и ее submit'a через секунду после этого должен вылазить confirm. Если жмем в нем ОК - редактируем форму дальше, жмем Отмену - окно закрывается, и та страница, с которой это окно было создано (т.е. 1.php), обновляется, т.е. происходит чтото типа document.location='1.php';.
Вопросы:
1. Как реализовать запуск скрипта через секунду после submit'a формы;
2. Как реализовать обновление 1.php при закрытии 2.php ?
Ответить с цитированием
  #9 (permalink)  
Старый 13.10.2010, 10:56
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от lolka84
1. Как реализовать запуск скрипта через секунду после submit'a формы;
a. Отправлять форму без перезагрузки страницы (XMLHttpRequest, отправка в iframe).
b. Выставлять таймер в родительском окне.
c. Возможно ещё варианты в зависимости от конкретных условий.

Сообщение от lolka84
2. Как реализовать обновление 1.php при закрытии 2.php ?
Периодически проверять наличие окна, например.
var w = window.open();
(function() {
    if (w) {
        setTimeout(arguments.callee, 50);
    } else {
        alert('Окно закрылось');
    }
})();
Ответить с цитированием
  #10 (permalink)  
Старый 13.10.2010, 11:18
Кандидат Javascript-наук
Отправить личное сообщение для lolka84 Посмотреть профиль Найти все сообщения от lolka84
 
Регистрация: 23.08.2010
Сообщений: 123

Ок, раз все так сложно, пойду другим путем
1.php -
<input type='button' value='Редактировать' onclick="funcname();" style='width:90px; height:15px; font-size:10px; margin:2px 0 0 5px;'  />

function funcname() {
var newwindow = window.open('2.php', 'wndname', 'параметры');
newwindow.focus();
}

Т.е. просто даже при наличии окна wndname при клике на кнопку оно вылазит поверх остальных вкладок. Фишка в том, что вот это вот newwindow.focus(); не работает Что тут не так ?
Еще такой вопрос: какими средствами создается окно, которое как бы блокирует все остальные вкладки до закрытия самого себя ?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Гаджет рабочего стола - что я делаю не так KOLANICH Общие вопросы Javascript 1 23.06.2010 20:02
submit в iframe по событию change vovasvv jQuery 1 21.05.2010 09:37
На narod.ru не работает Dojo, что я делаю не так? vlad275 Dojo toolkit 1 29.10.2008 19:18
Использование метода setTimeout News Общие вопросы Javascript 3 18.09.2008 20:37
Что не так? giGnet Общие вопросы Javascript 8 23.06.2008 22:51