Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.04.2018, 08:45
Кандидат Javascript-наук
Отправить личное сообщение для pokk Посмотреть профиль Найти все сообщения от pokk
 
Регистрация: 30.01.2014
Сообщений: 145

не работает обработка confirm
Есть функция, на включение выключение устройства по JSON URL запросу, решил добавить подтверждение, добавил и если быстро нажимать ок после сообщения, то запрос отправляется, если же подождать пару секунд, после сообщения, то запроса нету.
Почему так происходит ?
export function Supply(power){
	if(power=='ON'){
		if (confirm("Вкл?")) {
		Modul_2.GetSettingTimeout('Transmiter.CGI?Supply$ON',Single,function () {
					if(this=="OK"){
					 alert("Вкл");
				}
				if(this=="ERROR"){
					//alert("Ошибка");
				}
			});
		} else {
		  alert("отмена");
		}			
	}
	if(power=='OFF'){
		if (confirm("выкл?")) {
						Modul_2.GetSettingTimeout('Transmiter.CGI?Supply$OFF',Single,function () {
				if(this=="OK"){
					alert("Выкл");
				}
				if(this=="ERROR"){
					//alert("Ошибка");
				}
			});	

		} else {
		  alert("отмена");
		}			
		
	}
}


//==================================================================================================
/*
	* @Описание: 	a one-time function call.  cyclic function call
	* @Параметр:	
	* @Возврат:		Нету
*/
export function GetSettingTimeout(link,ModeFuncCall,CallbackTrue,CallbackFalse) {
        (function _f() {
			//var http2 = createRequestObject();
            if( http2 ) {
				//---------------------------------------------
				var uriEncode = encodeURI(link).replace(/%20/g,'!').replace(/'/g,'~').replace(/%22/g,'"').replace(/%5B/g, '[').replace(/%5D/g, ']');
				//console.log(uriEncode);
                http2.open('GET', uriEncode, true);
				//---------------------------------------------
				http2.timeout =13000;
				//---------------------------------------------
                http2.onreadystatechange = function () {
					if (http2.readyState == 4&&http2.status == 200) {
						
					if (CallbackTrue && typeof(CallbackTrue) === "function") {
						CallbackTrue.call(http2.responseText);
					}						
						
						//CallbackTrue.call(http2.responseText);
						//ConnectSuccessful();
						if(ModeFuncCall==CYCLIC){
							TimerID = setTimeout(_f, 1000);
						}
                    }
                };
				//---------------------------------------------
				http2.ontimeout = function() {
					//Disconnect();
					TimerID = setTimeout(_f, 1500);
					if (CallbackFalse && typeof(CallbackFalse) === "function") {
						CallbackFalse.call(http2.responseText);
					}
				};
				//---------------------------------------------
				http2.abort= function() {
					if(StatusAbort==ClearAbbort){
						//Disconnect();
						StatusAbort=ClearAbbort;
						TimerID = setTimeout(_f, 1000);
					}
				};
				//---------------------------------------------
                http2.send(null);
            }else{
				TimerID = setTimeout(_f, 1000);
            }
        })();
    }
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
innerHTML для TR в InternetExplorer не работает? Непонятливый Элементы интерфейса 3 15.10.2012 17:14
JS: работает на сервере, не работает из папки -majestic- Общие вопросы Javascript 2 02.08.2012 14:41
Не работает push! Динамическая вставка TSEH25 ExtJS 5 03.07.2012 13:00
jQyery функция странно работает! Midel Общие вопросы Javascript 4 08.04.2012 13:40
помогите найти ошибку (работает в IE но не работает в Firefox) Len4ik Javascript под браузер 2 11.05.2010 15:41