看板 Ajax 關於我們 聯絡資訊
寫 GREASEMONKEY 的時候出了點問題 引入 JQUERY 1.4.2 FACEBOOK 用 HTTPS 做登入 所以 $.POST 理所當然 就不能用 我寫了一個 FORM 上去 ID 賦 switch_login_form 輸出之後 送出帳號密碼,很直覺的就寫下 $("#switch_login_form").submit(); 沒想到瀏覽器沒動作 回歸原始寫法 document.getElementById("switch_login_form").submit(); 居然可以= =,無言拉 JQUERY 不知道是什麼問題居然沒辦法處理 另外要做 送出的事件 $("#switch_login_form").submit(function(){ alert("STOP"); return false; }); 也沒辦法在 document.getElementById("switch_login_form").submit(); 之後攔截到事件... 使用 原始寫法也沒辦法 document.getElementById("switch_login_form").addEventListener('submit', function(e){ alert("STOP"); return false; }, false); 超邪門的拉 抓的到物件,送不到事件 我在想是不是 HTTPS的關係 = = -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 112.104.101.130
TonyQ:其實你可以先試試看$("#switch_login_form")[0].submit() 04/05 22:44
TonyQ:另外綁定在submit的,本來就沒辦法在直接call submit時觸發 04/05 22:45
TonyQ:就算是用純js也是一樣,只有透過submit button會去trigger 04/05 22:45
TonyQ:onsubmit (也就是jQuery submit()的綁定對象) 04/05 22:45
TonyQ:這跟是不是 https 沒有關係,而是本來就這樣。 04/05 22:46
mesak:了解了,剛剛試了一下可以用,問題是 指定id 為什麼還會跑 04/05 22:55
mesak:[0] 這個東西呢? 04/05 22:56
mesak:我試了.trigger("click"); 也是跑不到 onsubmit 事件很怪 04/05 22:59
mesak:除非是自己點擊才會觸發事件 04/05 23:00
TonyQ:你可能要先弄懂jQuery Context跟 dom object的差異。 04/06 11:21
TonyQ:所有jQuery的select 回來的結果都是jQuery context , 04/06 11:21
TonyQ:其內容物是由 dom object 組成的陣列 . 04/06 11:22
TonyQ:有興趣可以參考 #18cqIepY (Ajax) 的介紹 04/06 11:24
TonyQ:至於你說的問題,本來click行為就不等於submit呀 :D 04/06 11:25
TonyQ:應該說 click 事件。 04/06 11:25
TonyQ:補充一下,你困惑的是原生物件的submit() 跟 jQuery context 04/06 11:26
TonyQ:的 submit 的差異 :3 04/06 11:26
mesak:我 知道了,SUBMIT() 跟 JQUERY的SUBMIT(FN) 是不一樣的 04/06 23:05
mesak:如果 submit() 方法 之後 還跑 obsubmit的話,搞不好會無限 04/06 23:05
mesak:迴圈,jq的方法只是跑一下 只是我還是有點疑問為什麼是跑[0] 04/06 23:06
mesak:指定了ID不就只有針對單一的OBJECT嗎?怎麼會還需要跑[0]勒? 04/06 23:07
TonyQ:指定ID不一定只取得一個。也可以透過add再去增加新的元素 04/07 09:06
TonyQ:你只是被一個先入為主的觀念誤導了,就算只有一個,還是 04/07 09:07
TonyQ:jQuery context 而不是 dom object. 04/07 09:07