Re: [請益] PHP變數傳入javascript

看板PHP作者 (Mr. Pan)時間12年前 (2013/05/07 10:53), 編輯推噓1(104)
留言5則, 2人參與, 最新討論串2/3 (看更多)
其實方法很多... 只是能不能融會貫通而已 第一個問題是 依照你的要求: 1.按下三次 Click 傳回的數值不同 2.php 要在 body 後(內) 首先是綁定 click 的方式,如果不一定要用 script 的方式去綁定 而是寫在 DOM 裡面,倒是可以這樣做: PS : 我不記得 w3c 有 <btn> 這個標籤... 建議寫網頁用 w3c 標準 看起來是要用按鈕,所以我把你的 <a><btn> 改成 <button> 另外提醒,你用 for + Like() 去建立 HTML tag 但要注意所謂 ID 就是唯一的 "編號",依你的例子來看,會產生 三個 id 都是 msg 的 tag , 這樣是不對的(不好的) // 底下這是 php function Like($val){ echo "<button onClick="btnClick($val)"> click~~ </button>"; echo "<br><br><br><div id=\"msg\"> </div>"; } //底下是 js , 放在 <script> 裡面 function btnClick(value){ $.ajax({ url: 'like.php', cache: false, dataType: 'html', type:'POST', data: {value:value}, success: function(response) { $('#msg').html(response); $('#msg').fadein(); } }); } 如果一定要利用 jQuery 去做 btn 的 Click 綁定,可以 透過 DOM 屬性來記錄: // 底下這是 php , 不一定要用 ref , title 或者 alt 之類的屬性去存都 OK function Like($val){ echo "<button ref="$val"> click~~ </button>"; echo "<br><br><br><div id=\"msg\"> </div>"; } //底下是 js , 放在 <script> 裡面 $(document).ready(function(){ $("button").click(function(){ var val=$(this).attr("ref"); $.ajax({ url: 'like.php', cache: false, dataType: 'html', type:'POST', data: {value:val}, success: function(response) { $('#msg').html(response); $('#msg').fadein(); } }); }); }); 至於第二個問題.... 不是很清楚你的意思,每次要傳回的值不同 是根據甚麼? $val 嗎? 那麼這部分應該是在 like.php 處理吧,當然就是依據 $_POST['value'] 去判斷要傳回甚麼東西啦 BTW : 要用一個頁面進行 ajax , 一個很簡單的例子 在 $.ajax 的 data 部分新增一個 check 用的變數(也可以直接用 value) 如: data: { value:value , flag:1 } 在這個檔案的一開頭: <?php if(isset($_POST['flag']) && $_POST['flag']==1 ){ // 你要做的事情,包含 echo 一些資料讓 ajax 傳回 exit(0); } ?> -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.47.174.168 ※ 編輯: darkk6 來自: 114.47.174.168 (05/07 10:58)

05/07 12:43, , 1F
請問 那我該如何更改msg?
05/07 12:43, 1F

05/07 12:44, , 2F
我有試過讓div id=$val
05/07 12:44, 2F

05/07 12:46, , 3F
然後在success那邊 改寫成$('#'+val).html(response)
05/07 12:46, 3F

05/07 12:46, , 4F
可是都沒反應QQ
05/07 12:46, 4F

05/07 13:13, , 5F
chrome有js console,用那個摸索比每次改程式方便。
05/07 13:13, 5F
文章代碼(AID): #1HY6oHjt (PHP)
討論串 (同標題文章)
文章代碼(AID): #1HY6oHjt (PHP)