作者averywu (看文不要只會用橫的看)
看板Ajax
標題[問題] JQuery 等待事件完成
時間Wed Sep 7 10:06:32 2011
一直以來用 Jquery 很方便。
但是有個問題常困擾我。
例:
<input type = "text" id = "someid">
$("#someid").show();
var tmpvar = $('#someid').val();
$.get('somefile',{
id:tmpvar
}
我的用意是讓執行時顯示出一個蓋住畫面的訊息輸入框(上面用簡單的意思表示)
然後讓使用者輸入資料。再把得到的這個結果送到somefile去。
有點像prompt()那樣,只是表單複雜的多。不是單一文字輸入元素
當然上面的不會跑,因為$('#someid').show()後馬上會執行 var tmpvar=....那行。
再接著就$.get了。
有任何方法可以讓程式停下來等使用者把表單填完按下特定按鈕後才繼續嗎?
或是我方法根本想錯方向?
之前用.diablog API 也遇到一樣的問題,不過那次是用POST送表單所以還好解決。
這次我就頭大了。
--
小惡魔的家
http://blog.pixnet.net/shiuju/
--
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.251.237.155
※ 編輯: averywu 來自: 60.251.237.155 (09/07 10:09)
1F:→ TonyQ:要改用callback設計思維。 09/07 10:41
2F:→ TonyQ:這題在js可以說是無解,js就是都靠callback做事 09/07 10:42
3F:→ sk1765:對阿 把tmpvar 還有$.get 都寫在show的callback就解決了吧 09/07 11:25
4F:→ sk1765:在callback 必須要有一個確認欄位填完的機制 09/07 11:29
5F:推 ChowMein:你應該了解一下 "事件驅動" 09/07 12:10
6F:→ tyf99:你的 $.get('somefile') 應該綁在送出表單的按鈕上吧 09/07 15:44