2016-04-26 112 views
0

我不明白!爲什麼這段代碼不工作? window.onload不能雙重功能。我該如何編碼?window.onload不適用於櫃檯頁面

Perl是正常的。但是Javascript是錯誤的。我需要Javascript的幫助。

的Perl:

print $lqcgi->td({ -class => 'navItemText', -align => 'left'}, '<script> document.write("refresh in <strong><span id=\"counter\"></span></strong> seconds")</script></td></tr>') 

print "<script>document.write('<p><small>You will be redirected to main page in <strong><span id=\"a_reload\"></span></strong> sec.</small></p>')</script>"; 

的Javascript:

var Time = 60; 
    var Counter = zaehler; 
    function zaehler(){ 
     if (Time > 0) { 
      Time --; 
      document.getElementById('counter').innerHTML = Time; 
      setTimeout("zaehler()",1000); 
     } 
     else { 
      window.location.reload(true); 
     } 
    } 
    window.onload = Counter; 

    function a_confirm(){ 
     var x = confirm("Are you sure to Confirmation?"); 
     if (x == true){ 
      return true; 
     } 
     else{ 
      return false; 
     } 
    } 

    var Time_2 = 5; 
    var Counter_2 = c_reload 
    function c_reload(){ 
     if (Time_2 > 0) { 
      Time_2 --; 
      document.getElementById('a_reload').innerHTML = Time_2; 
      setTimeout("c_reload()", 1000); 
     } 
     else{ 
      window.history.back(-1); 
     } 
    } 
    window.onload = Counter_2; 

回答

0
var Counter = function(){ 

應該解決您的問題。目前,您在創建之前分配參考(zaehler)。將是

my $Counter = $zaehler; 
my $zaehler = sub { 
... 

在Perl中。

+0

謝謝。 'var Counter = function(){}'正在工作,但是'var Counter_2 = function(){}'不起作用。爲什麼這是一個問題? – Markus

+0

我發現了一些代碼。 'var Time = 60;如果(時間> 0){ \t \t時間 - ;如果(時間> 0),則計數器=函數(){ \t。 \t \t document.getElementById('counter')。innerHTML = Time; \t} \t else { \t \t window.location.reload(true); \t} } var myVar = window.setInterval(「Counter()」,1000);' 'var Time_2 = 10; window.onload = function(){ \t if(Time_2> 0){ \t \t Time_2 - ; \t \t document.getElementById('a_reload')。innerHTML = Time_2; setTimeout('window.onload()',1000); \t} \t else { \t \t window.history.back(-1); \t} } window.onload = Counter_2;' 這非常好。但非常感謝。 – Markus