作者mesak (米沙)
看板Ajax
標題[問題] HTTPS 問題
時間Mon Apr 5 22:13:25 2010
寫 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
1F:→ TonyQ:其實你可以先試試看$("#switch_login_form")[0].submit() 04/05 22:44
2F:→ TonyQ:另外綁定在submit的,本來就沒辦法在直接call submit時觸發 04/05 22:45
3F:→ TonyQ:就算是用純js也是一樣,只有透過submit button會去trigger 04/05 22:45
4F:→ TonyQ:onsubmit (也就是jQuery submit()的綁定對象) 04/05 22:45
5F:→ TonyQ:這跟是不是 https 沒有關係,而是本來就這樣。 04/05 22:46
6F:→ mesak:了解了,剛剛試了一下可以用,問題是 指定id 為什麼還會跑 04/05 22:55
7F:→ mesak:[0] 這個東西呢? 04/05 22:56
8F:→ mesak:我試了.trigger("click"); 也是跑不到 onsubmit 事件很怪 04/05 22:59
9F:→ mesak:除非是自己點擊才會觸發事件 04/05 23:00
10F:→ TonyQ:你可能要先弄懂jQuery Context跟 dom object的差異。 04/06 11:21
11F:→ TonyQ:所有jQuery的select 回來的結果都是jQuery context , 04/06 11:21
12F:→ TonyQ:其內容物是由 dom object 組成的陣列 . 04/06 11:22
14F:→ TonyQ:至於你說的問題,本來click行為就不等於submit呀 :D 04/06 11:25
15F:→ TonyQ:應該說 click 事件。 04/06 11:25
16F:→ TonyQ:補充一下,你困惑的是原生物件的submit() 跟 jQuery context 04/06 11:26
17F:→ TonyQ:的 submit 的差異 :3 04/06 11:26
18F:→ mesak:我 知道了,SUBMIT() 跟 JQUERY的SUBMIT(FN) 是不一樣的 04/06 23:05
19F:→ mesak:如果 submit() 方法 之後 還跑 obsubmit的話,搞不好會無限 04/06 23:05
20F:→ mesak:迴圈,jq的方法只是跑一下 只是我還是有點疑問為什麼是跑[0] 04/06 23:06
21F:→ mesak:指定了ID不就只有針對單一的OBJECT嗎?怎麼會還需要跑[0]勒? 04/06 23:07
22F:→ TonyQ:指定ID不一定只取得一個。也可以透過add再去增加新的元素 04/07 09:06
23F:→ TonyQ:你只是被一個先入為主的觀念誤導了,就算只有一個,還是 04/07 09:07
24F:→ TonyQ:jQuery context 而不是 dom object. 04/07 09:07