2016-04-26 8 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; var Counter = function(){ \t if(時間> 0){ \t \t時間 - \t \t document.getElementById( 'counter')。innerHTML =時間; 他\t} \t {\t \t window.location.reload(TRUE)。 \t} } var myVar = window.setInterval( "Counter()"、1000); ' 'var Time_2 = 10; (time_2> 0){ \t \t Time_2 - ; \t \t document.getElementById( 'a_reload')。innerHTML = Time_2; \t \t setTimeout( 'window.onload()'、1000);他 \t} \t {\t \t window.history.back(-1)。 \t} } window.onload = Counter_2; ' これは非常に優れています。しかし、ありがとう。 – Markus

関連する問題