2016-02-26 68 views
0

我有一個帶有表單的PHP頁面,當它被提交時應該返回一個HighCharts圖表和一個表格,數據被繪製。表單將$ _POST請求發送到另一個PHP文件,該文件檢索變量,查詢數據庫並將數據作爲數組返回,該數組作爲多個系列添加到HighCharts腳本並輸出到表中。加載HighCharts圖表/表格上的數據使用jQuery提交

我希望圖表和表格在表單提交之前不可見,但無論如何編碼,我都無法更改2 DIV的可見性。當頁面加載,這jQuery是觸發:

$(function() { 
$('#tableData').hide(); 
$('#chart-container').hide(); 
$('#submit').click(function() { 
    $('#tableData, #chart-container').show(); 
    }); 

當提交表單時,所有的數據都回來了,我可以看到這一切在檢查,但#tableData#chart-container的div都仍然顯示display:none

我已經試過.show方法結合.on事件,.click事件和.submit事件,但沒有工作。

讀HighCharts API參考,它看起來像我需要創建一個單獨的函數來請求數據,然後調用在load事件的功能,我只是無法弄清楚如何做到這一點。我沒有使用AJAX來返回數據,這是他們在示例中顯示的方法。

如何隱藏這些div並在點擊提交按鈕後顯示它們?

+0

好像你每次提交頁面或點擊表單頁面上的提交按鈕,這些''#tableData,#chart-container''兩個元素都顯示出來,但只是第二次延遲,頁面將繼續重新加載,直到完成呈現。最後,你總是看到這兩個元素處於隱藏狀態的頁面。這個過程一直重複着。除非你用ajax請求完成。 –

+0

@Norlihazmey所以你說唯一的方法來做我想要的是使用AJAX請求? – SpaceAge

+0

應該是這樣的。否則,使用持久性存儲,可以保存價值,甚至頁面的刷新 –

回答

1

我覺得發生了什麼事情,即每次提交頁面時,.hide方法都會隱藏div,即使數據已返回。

我最終將2個div移動到一個有條件的PHP語句中,所以它們不存在,除非POST請求具有某些值。完全刪除了jQuery,它正在工作,儘管我仍然好奇爲什麼它不是以前。