循环
我有这个 openid 插件,但是当我单击 AOL 时,对话框会打开,并且很快就会自动关闭并提交表单。 我希望它在对话框打开时停止关闭,并且仅在关闭对话框时提交表单 shud
请帮帮我
(function($){
$.fn.openid = function() {
$('input').click(function(e){
var provider = $(this).attr('class');
if (provider == 'aol') {
$("#dialog").dialog();
}
else{
var provider_url = $(this).attr('id'); //get id
var myinput = $('<input type="hidden" name="provider_url"/>').val(provider_url);
}
$('form').append(myinput);
$('form').submit();
})
}
})(jQuery);
甚至 e.stopPropogation(); 到 click 事件处理程序不起作用即使我把form.submit(返回false)放在if循环中,它也完全禁用了表单,否则也会
您是否尝试过添加
e.preventDefault();
在您的点击功能开始时?
我认为由于代码的这种和平,问题正在发生:
$('form').submit();
代码的和平是独立的,因此每当点击$('input')时都会被执行。你应该尝试的是将代码的和平放在另一个jQuery点击函数中,或者把它放在if of else语句中。
$('.buttonX').click(function()
{
$('form').submit();
});