2013-07-28 2 views
-1

Я хочу отобразить окно, когда я нажимаю кнопку обновления, это окно должно оставаться на 3 секунды, после чего автоматически завершайте действие обновления. Это мой код, но он не работаетsetTimeout delay a action

my $cScript = qq{ 

\$(document).ready(function(){ 
    var w; 
    function closeWindow(){ 
     setTimeout(function() { 
      w.close(); 
     }, 3000); 
    } 

    function createWindow(){ 
     //create the popup window. 

     w=window.open("","",'width=200,height=100'); 

     // put something into the popup window 
     try{ 
      w.document.write('<html><head></head><body><p>Updating...</p></body> <html>') 
     }catch(err){ 
      //handle error here 
     } 
     closeWindow(); 

    }); 
}; 

print $q->script($cScript); 
} 

HTML-форму:

$cInput_form .= $q->image_button({ 
     -src => '/media/images/save_1.png', 
     -class=>'btn btn-primary btn-large', 
     -title => 'update', 
     -name => 'Update', 
     -value => $row_id, 
     -onclick => "createWindow()" 
}); 



print $q->fieldset ({-class => "ui-widget ui-widget-content"}, $cInput_form); 

, где это проблема?

+0

Я думаю, что 'w' переменная выходит за рамки по времени, запускаемых. Есть ли сообщения об ошибках в консоли? –

+2

Определить, что «не работает», каково поведение, которое вы видите? –

+0

С точки зрения философии, почему вы хотите диктовать функцию компьютера с некоторыми компьютерами? –

ответ

2

DEMO: jsFiddle

JS:

var w; 

createWindow(); 

function closeWindow() { 
    setTimeout(function() { 
     w.close(); 
    }, 3000); 
} 

function createWindow() { 
    //create the popup window. 
    var htmlText = "<p>Updating...</p>"; 
    w = window.open("", "", 'width=200,height=100'); 
    $(w.document.body).html(htmlText); 
    closeWindow(); 
}; 
+0

Слишком верно , после повторного чтения вопроса, я вижу, где я неправильно читаю ... – abc123

+0

, но я хочу это следующим образом: при нажатии кнопки обновления, чтобы открыть окно, и через 3 секунды это окно должно быть закрыто автоматически и действие обновления, которое необходимо выполнить. Пожалуйста, не могли бы вы сказать мне, где я ошибаюсь в своем коде. Я использую perl – Armida

+0

обновленный ответ, он работает – abc123

Смежные вопросы