[問題] HTTPS 問題

看板Ajax作者 (米沙)時間15年前 (2010/04/05 22:13), 編輯推噓0(0024)
留言24則, 2人參與, 最新討論串1/1
寫 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

04/05 22:44, , 1F
其實你可以先試試看$("#switch_login_form")[0].submit()
04/05 22:44, 1F

04/05 22:45, , 2F
另外綁定在submit的,本來就沒辦法在直接call submit時觸發
04/05 22:45, 2F

04/05 22:45, , 3F
就算是用純js也是一樣,只有透過submit button會去trigger
04/05 22:45, 3F

04/05 22:45, , 4F
onsubmit (也就是jQuery submit()的綁定對象)
04/05 22:45, 4F

04/05 22:46, , 5F
這跟是不是 https 沒有關係,而是本來就這樣。
04/05 22:46, 5F

04/05 22:55, , 6F
了解了,剛剛試了一下可以用,問題是 指定id 為什麼還會跑
04/05 22:55, 6F

04/05 22:56, , 7F
[0] 這個東西呢?
04/05 22:56, 7F

04/05 22:59, , 8F
我試了.trigger("click"); 也是跑不到 onsubmit 事件很怪
04/05 22:59, 8F

04/05 23:00, , 9F
除非是自己點擊才會觸發事件
04/05 23:00, 9F

04/06 11:21, , 10F
你可能要先弄懂jQuery Context跟 dom object的差異。
04/06 11:21, 10F

04/06 11:21, , 11F
所有jQuery的select 回來的結果都是jQuery context ,
04/06 11:21, 11F

04/06 11:22, , 12F
其內容物是由 dom object 組成的陣列 .
04/06 11:22, 12F

04/06 11:24, , 13F
有興趣可以參考 #18cqIepY (Ajax) 的介紹
04/06 11:24, 13F

04/06 11:25, , 14F
至於你說的問題,本來click行為就不等於submit呀 :D
04/06 11:25, 14F

04/06 11:25, , 15F
應該說 click 事件。
04/06 11:25, 15F

04/06 11:26, , 16F
補充一下,你困惑的是原生物件的submit() 跟 jQuery context
04/06 11:26, 16F

04/06 11:26, , 17F
的 submit 的差異 :3
04/06 11:26, 17F

04/06 23:05, , 18F
我 知道了,SUBMIT() 跟 JQUERY的SUBMIT(FN) 是不一樣的
04/06 23:05, 18F

04/06 23:05, , 19F
如果 submit() 方法 之後 還跑 obsubmit的話,搞不好會無限
04/06 23:05, 19F

04/06 23:06, , 20F
迴圈,jq的方法只是跑一下 只是我還是有點疑問為什麼是跑[0]
04/06 23:06, 20F

04/06 23:07, , 21F
指定了ID不就只有針對單一的OBJECT嗎?怎麼會還需要跑[0]勒?
04/06 23:07, 21F

04/07 09:06, , 22F
指定ID不一定只取得一個。也可以透過add再去增加新的元素
04/07 09:06, 22F

04/07 09:07, , 23F
你只是被一個先入為主的觀念誤導了,就算只有一個,還是
04/07 09:07, 23F

04/07 09:07, , 24F
jQuery context 而不是 dom object.
04/07 09:07, 24F
文章代碼(AID): #1BkV0CXU (Ajax)
文章代碼(AID): #1BkV0CXU (Ajax)