2012-03-06 78 views
-1

我寫了一個日曆function cal($current_month,$current_day,$current_year),它返回一個數組calender_arr("month"=>$m, "day"=>$day,"year"=>"year", "tabular_calendar_data"=>$data)如何在日曆中創建prev和next按鈕php,javascript

$data是與日曆日期表,周等表有兩個<<>>「日」(即列標題)按下時,他們應該觸發prevMonth($calendar_arr["month"],$calendar_arr["day"],$calendar_arr["year"])nextMonth($calendar_arr["month"],$calendar_arr["day"],$calendar_arr["year"])。這兩個函數在內部調用一個函數,並將前幾個月的值分配給cal,以便它可以分別生成上個月和下個月的日曆。

的邏輯是不錯,但這裏是我的問題,我無法呼叫在onclick()的PHP prevMonth()nextMonth()在日曆上的<<>>。任何機構都可以提出解決這個問題的方法嗎?我試過jQuery和AJAX,但我不那麼流利,這就是爲什麼它不工作。

謝謝。

+0

你能更具體一點嗎?例如,當您在「<<" and ">>」按鈕中設置onclick值時,哪些功能無效?你是否正確地鏈接了它們? <<?也許發佈您的JavaScript和HTML代碼,以便我們可以看到這是否是您的語法或理論的問題。 – 2012-03-06 20:24:43

回答

1

你要做的是從Javascript事件調用PHP函數。它不會工作,因爲PHP在服務器上運行並且Javascript在客戶端上運行。

所以發生的事情是onclick事件正在尋找一個Javascript函數(不會被定義)而不是調用你的PHP cal函數。

你可以做的是創建一個javascript函數,使得AJAX調用服務器來檢索上個月和下個月。然後,您將使用< <和>>按鈕調用您剛剛創建的函數,並傳入要檢索的日期。

+0

嗨謝謝迴應。 @Rory McCrossan $ ben Ashton,問題是因爲日曆以我的cal函數作爲字符串返回,我無法執行onclick cal($ m,$ d,$ y)的輸出是一個數組,例如: $ myarr [「month」] = 03,$ myarr [「day」] = 06,,$ myarr [「year」] = 2012,$ myarr [「tabular_calendar_data」] =「

​​1​​2​​3 ....​​31
<< $ m $ y >>
」。如何添加onclickto的<<?由於表已經返回,我試圖添加jQuery的addClass或addJavascript,但我無法使它的工作... – learner 2012-03-06 21:34:33

+0

感謝您的迴應@ken woo.I知道我們可以使用ajax,但如何調用函數cal()在PHP頁通過ajax據我所知,我們只能通過ajax調用一個PHP頁面的內容,但我不知道如何調用一個函數..請指教 – learner 2012-03-06 21:35:15

+0

創建另一個PHP文件,並在該腳本中,你可以這樣做: '$ month = $ _GET ['month'];' '$ year = $ _GET ['year'];' 然後使用它們傳入您的cal函數,然後回顯響應。例如:'echo cal($ month,$ year)'。然後在javascript中,你可以使用innerHtml函數來替換表格中的響應 – 2012-03-06 21:41:27

相關問題