2017-01-07 95 views
0

我有一個PHP函數與頁面的刷新結束,然後拋出一個JavaScript函數聲明:的Javascript功能不起作用

<script> 
    var u = null; 
    function tab(u) { 
     $('#element1').css('display', 'block'); 
     $('#element2').css('display', 'none'); 
    } 
</script> 
<?php 
    if (isset($_POST['submit1'])) { 
     $tab = 1; 
     header("Refresh:0");    
     echo "<script>window.scrollTo(0, 1000);</script>"; 
     echo "<script>tab(".$tab.");</script>"; 
    } 
?> 

的window.scrollto作品的功能,但該選項卡功能不是。 我寫了ob_start和ob_end_flush以避免標題問題。

+0

在JavaScript控制檯中是否有任何錯誤? –

+1

因爲你產生輸出... – ewcz

+0

在JavaScript控制檯和PHP錯誤不,我沒有得到錯誤後,使用'header'功能有可能是一個問題 –

回答

2

您在if語句中缺少關閉)。試試這個:如你所說

<script> 
    var u = null; 
    function tab(u) { 
     $('#element1').css('display', 'block'); 
     $('#element2').css('display', 'none'); 
    } 
</script> 
<?php 
    if (isset($_POST['submit1'])) { 
     $tab = 1; 
     header("Refresh:0");    
     echo "<script>window.scrollTo(0, 1000);</script>"; 
     echo "<script>tab(".$tab.");</script>"; 
    } 
?> 

header("Refresh:0"); shoudn't是一個問題。在最壞的情況下,您會收到一條警告,說Warning: Cannot modify header information - headers already sent by...

此外,在開發中,您應該始終打開error_reporting以查看可能的錯誤或警告。您可以打開錯誤這樣的報告:

error_reporting(E_ALL); 
ini_set('display_errors', 1); 

不要忘記刪除/評論說,生產/生活。

+0

好趕上!它不應該在服務器端拋出錯誤? –

+0

我有這樣的感覺,但寫了一個問題,我犯了一個錯誤。 –

+1

@SandeepNayak,它應該有,如果他有錯誤報告打開。 – Ionut