[問題] 不換頁進行POST表單,div顯示結果

看板Web_Design作者 (poc)時間14年前 (2012/02/25 16:48), 編輯推噓3(306)
留言9則, 5人參與, 最新討論串1/1
將一個表單內容POST 到 某個.php 希望將該.php回傳內容,顯示在原本頁面的<div id=msg> 標籤裡面, 下面這段程式碼跑去執行,alert有出現,但是可以觀察到 我在 post 之後的callback function 執行了$('#msg').html("HAHA");,這行夾在兩個alert中間 可以清楚觀察到,在中間過程中,div內容有被更換掉。 但是在第二個alert 結束之後,div內容居然自己換成原本的"MSG"字串? 如果不想要他離開callback function 內容就不見得話該如何使用呢? 感謝 script 我是寫在head 裡面,<div> 釋放在body裡面 <script type="text/javascript"> (function($){ $(document).ready(function(){ $("#orderForm").submit( function(){ $.post('updateQueryOrder.php', function(data) { alert(data); $('#msg').html("HAHA"); alert(data); } ); // post }); //submit }); })(jQuery); </script> <div id="msg" > MSG </div> -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 119.77.136.156

02/25 17:07, , 1F
在 }); //submit 這行上面增加 return false; 看看
02/25 17:07, 1F

02/25 17:42, , 2F
$.POST用法請看清楚文件唷 這樣沒有送任何資料吧?
02/25 17:42, 2F

02/25 19:19, , 3F
感謝樓上,其實我下午一直弄不出來就亂try,我知道第二個
02/25 19:19, 3F

02/25 19:19, , 4F
欄位要放資料進去 像是 #form.serialize() 只是也沒用><
02/25 19:19, 4F

02/25 20:29, , 5F
應該就是一樓講的那樣 submit前要return false;
02/25 20:29, 5F

02/25 20:30, , 6F
不然原本普通的表單也會送出 就等於刷新頁面了
02/25 20:30, 6F

02/25 21:38, , 7F
都用 $.post 了,不需要畫蛇添足用 <form>
02/25 21:38, 7F

02/25 22:10, , 8F
把資料一個一個存在變數以後再傳...POST方法是AJAX
02/25 22:10, 8F

02/25 23:43, , 9F
1樓方法試過了ok。感謝各位的解答幫忙
02/25 23:43, 9F
文章代碼(AID): #1FIA1PCt (Web_Design)