[請益] onclick 呼叫 php function 疑惑之處

看板PHP作者 (Claire)時間15年前 (2009/08/10 15:17), 編輯推噓5(5023)
留言28則, 5人參與, 最新討論串1/1
※ 引述《sos0214 (kaleidoscope)》之銘言: : 請問一下onclick不能呼叫php的function嗎 : 找了找好像只有javascript : 不過我讀寫檔用php,所以想找一下 那請問一下 PHP是否沒有其他方法可以解決了?? 我想用BUTTON案一下 某數就+1 我也是想到onclick 的方式 是不是還有其他的解決方式呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.220.30.237

08/10 15:29, , 1F
你想的方法是最好的
08/10 15:29, 1F
那也是配合js去寫嗎?? 可是我function裡 有牽涉到PHP的運算 那是要如何寫!!? 把運算的部份用<? ?>框起來?? ※ 編輯: claire0810 來自: 61.220.30.237 (08/10 15:32)

08/10 15:39, , 2F
你先搞懂前端跟後端程式
08/10 15:39, 2F
是在同一個網頁 (一個簡單的萬年曆的程式) 我希望他案一下button就可以+一年 ※ 編輯: claire0810 來自: 61.220.30.237 (08/10 15:40)

08/10 16:28, , 3F
-------------------------------------
08/10 16:28, 3F

08/10 16:28, , 4F
輸出(結構為HTML或其他Browser可判讀的文件)
08/10 16:28, 4F

08/10 16:28, , 5F
__________ __________
08/10 16:28, 5F

08/10 16:28, , 6F
∣Server: ∣→∣Browser: ∣
08/10 16:28, 6F

08/10 16:28, , 7F
∣執行表單目標的PHP ∣ ∣解讀HTML,執行含在 ∣
08/10 16:28, 7F

08/10 16:28, , 8F
∣或執行含有PHP碼的 ∣ ∣HTML裡的Javascript∣
08/10 16:28, 8F

08/10 16:28, , 9F
∣目標文件,輸出結果 ∣ ∣形成你看到的網頁 ∣
08/10 16:28, 9F

08/10 16:28, , 10F
∣_________∣←∣_________∣
08/10 16:28, 10F

08/10 16:28, , 11F
以POST或GET的方法,送出給表單目標的文件
08/10 16:28, 11F

08/10 16:28, , 12F
好久以前好像是在這裡存下來的推圖...拿出來用
08/10 16:28, 12F

08/10 16:29, , 13F
你先把這之間關係搞懂 自然就知道要怎麼解決了
08/10 16:29, 13F
嗯.... 我想問的是 不透過post或get 而直接呼叫function js可以 但是我結合js會有問題 沒辦法呼叫到function <html xmlns="" rel="nofollow">http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>無標題文件</title> </head> <body> <div align="center"> <?php $YMD=$_REQUEST["d"]; // 秀當天的資料, 將來可以配合資料庫使用 function _ShowDay1($Y,$M,$D) { echo $D; } function _ShowDay($Y,$M,$D,$YMD) { if($YMD==mktime(0,0,0,$M,$D,$Y)) { echo "<font color=#FF1122>"; _ShowDay1($Y,$M,$D); echo "</font>"; } else { _ShowDay1($Y,$M,$D); } } if($YMD=="") $Now=getdate(); // 今天 else $Now=getdate(mktime(0,0,0,substr($YMD,4,2),substr($YMD,6,2),substr($YMD,0,4))); $Y=$Now[year];//年 $M=$Now[mon];//月 $D=$Now[mday];//日 $Today=mktime(0,0,0,$M,$D,$Y); $WeekOf1stDay=(8-(($D-$Now[wday])%7))%7; // 當月的第一天是星期幾(月歷上,第一 天是從第幾格開始)? $MaxDay=(mktime(0,0,0,$M+1,1,$Y)-mktime(0,0,0,$M,1,$Y))/60/60/24; // 當月有幾 天? $NoDays=($MaxDay+$WeekOf1stDay)%7; // 月歷上,第幾天之後是空白? $WeekLine=($MaxDay+$WeekOf1stDay+(7-$NoDays))/7; // 月歷上,一共占幾層? ?> </div> <META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=big5"> <div align="center"> <HEAD> </div> <TITLE> <div align="center">Calendar</div> </TITLE> <div align="center"> </HEAD> <BODY> <table border=1> <tr> <td colspan="7"> <div align="center"> <?php echo "<input type=button value='<<' onClick=cleck_data() >".$Y."年<input type=button value='>>'><br/>"; echo "<input type=button value='<<'>".$M."月<input type=button value='>>'><br/>"; ?> </div></td> </tr> <tr> <td><font color=#AA0000>星期日</font></td> <td>星期一</td> <td>星期二</td> <td>星期三</td> <td>星期四</td> <td>星期五</td> <td><font color=#007700>星期六</font></td> </tr> <?php for($i=0;$i<$WeekOf1stDay;$i++) { echo "\n <td> </td>"; } $DD=1; for($i=$WeekOf1stDay;$i<7;$i++) { // echo "\n <td>".$DD."</td>"; echo "\n <td>"; _ShowDay($Y,$M,$DD,$Today); echo "</td>"; $DD++; } echo "</tr>"; for($j=2;$j<$WeekLine;$j++) { echo "\n <tr>"; for($i=0;$i<=6;$i++) { // echo "\n <td>".$DD."</td>"; echo "\n <td>"; _ShowDay($Y,$M,$DD,$Today); echo "</td>"; $DD++; } echo "</tr>"; } echo "\n <tr>"; for($i=0;$i<$NoDays;$i++) { // echo "\n <td>".$DD."</td>"; echo "\n <td>"; _ShowDay($Y,$M,$DD,$Today); echo "</td>"; $DD++; } for($i=$NoDays;$i<7;$i++) { echo "\n <td> </td>"; } echo "</tr>\n"; ?> </table> </div> </BODY> </body> </html> 點選<< 或者>> 的button 則年份+1 如果我post出去 就不一樣了.... ※ 編輯: claire0810 來自: 61.220.30.237 (08/10 16:34)

08/10 16:57, , 14F
你觀念分不清楚,跟你說再多也是一樣
08/10 16:57, 14F

08/10 16:58, , 15F
建議你去用.net,可以符合你的需求
08/10 16:58, 15F

08/10 23:44, , 16F
你的需求就是ajax,不可能不用javascript,懂嗎?
08/10 23:44, 16F

08/10 23:44, , 17F
Google日曆那種按一下不一定換頁,卻可改變畫面的
08/10 23:44, 17F

08/10 23:44, , 18F
就是ajax的應用
08/10 23:44, 18F

08/10 23:45, , 19F
你要用PHP的Function,沒問題,但得用javascript去
08/10 23:45, 19F

08/10 23:45, , 20F
呼叫PHP,傳個POST變數之類的,然後PHP再判斷收到什
08/10 23:45, 20F

08/10 23:46, , 21F
麼,要做什麼事,要顯示什麼
08/10 23:46, 21F

08/10 23:46, , 22F
而回傳結果回到javascript手上,再由javascript決定
08/10 23:46, 22F

08/10 23:46, , 23F
要將這個結果填入畫面上的哪裡
08/10 23:46, 23F

08/10 23:47, , 24F
這樣做完不會有任何換頁,卻可以更新畫面,ajax之所
08/10 23:47, 24F

08/10 23:48, , 25F
以會流行,就是這個局部更新的優勢和操作感
08/10 23:48, 25F

08/10 23:48, , 26F
*這樣做玩不會切換任何網頁
08/10 23:48, 26F

08/11 10:47, , 27F
onclick之後 send一個xmlhttpRequest即可...
08/11 10:47, 27F

08/11 10:48, , 28F
只是+1的話應該是用不到Response!
08/11 10:48, 28F
文章代碼(AID): #1AVycPUp (PHP)