作者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