台灣最大程式設計社群網站
線上人數
842
 
會員總數:245218
討論主題:189090
歡迎您免費加入會員
討論區列表 >> AJAX / JSON / jQuery >> $.post 無法回傳onchange()值
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
$.post 無法回傳onchange()值
價值 : 5 QP  點閱數:634 回應數:5

樓主

町風
初學者
229 209
1936 201
發送站內信

我在onchange裡呼叫sort() function 得到return 值,
但都return undefine

我想是不是sort()裡用$.post()回傳值來判斷,還沒等postback結果 function就結束

可以寫成等待postback完嗎?






本篇文章發表於2015-07-02 17:47
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

迷路
捐贈 VP 給 迷路 檢舉此回應
post()似乎沒辦法讓網頁停下來等他完成再繼續其他動作
得用ajax()才有async可以設定

但是這個問題中onchange()時只要呼叫sort()就好
外層的alert()是多餘的
有需要alert()請寫在.post()的function(){}中
本篇文章回覆於2015-07-03 09:42
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

町風
檢舉此回應
感謝!
alert是用來測試,我onchange sort()回傳值是用來判斷是否清空input值的。

本篇文章回覆於2015-07-03 10:33
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

迷路
捐贈 VP 給 迷路 檢舉此回應
還是同樣的問題
你該將動作直接寫在post()的function(){}中
而不是讓那個function去回傳值,再在外面去做判斷
如果有非要再post()之外進行動作的必要
也應該將動作寫成函數,然在post()的function(){}中呼叫該函數
這樣才能保證回傳值能順利的傳出做處理
本篇文章回覆於2015-07-03 10:51
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

町風
檢舉此回應
因為是多筆input 都是呼叫sort() 想說直接return, 就不必判斷是哪個input。

我改用jquery事件,但是$.post裡的$(this).val('')清空input,還是無效
如何取得input name='sort'是第幾個,再來清空這個input
另一個問題用onchange="(sort(33,this.value))"時我可以將第一個變數sid帶入,用這方法就不行了。

本篇文章回覆於2015-07-03 14:34
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

迷路
捐贈 VP 給 迷路 檢舉此回應
試試這樣


話說,這或許就是我喜歡用ajax()而非post()的理由吧
被簡化的功能要用的時候就得另外找方法寫回來
本篇文章回覆於2015-07-03 15:29
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.