Jalert和jeditable问题与确认对话框

时间:2013-12-04 15:54:44

标签: jquery jeditable confirm

$(".bilgi4").editable("'.site_url().'kullanici/guncelle/sifre", { 
                onsubmit: function() {
                jConfirm("Şifrenizi değiştirmek istiyor musunuz?", "Onay", function(r) { 
                    return r;   
                }); 
                },
                indicator : '<img src="'.base_url().'tema/site/images/loading.gif" />',
                type      : 'text',
                cancel    : '<div class="iptalbuton2"></div>',                
                submit    : '<div class="kaydetbuton"></div>',
            });

当我点击提交按钮确认对话框打开但在我回答问题表单帖子之前。

1 个答案:

答案 0 :(得分:1)

我假设jConfirm是非阻塞的,并且onsubmit在该行之后继续执行。因此,您需要在处理程序中返回false以停止提交,并根据用户是否确认自行手动提交表单。此外,您还需要在onblur事件触发时禁用取消。

$(".bilgi4").editable("http://google.com", {
    onsubmit: function(settings, ele) {
        var confirmed = $(ele).data('editConfirmed');
        $(ele).data('editConfirmed', false);

        if (! confirmed) {
            jConfirm('Title', 'Are you sure?', function(r) {
                if (r) {
                    $(ele).data('editConfirmed', true);
                    $(ele).find('form:eq(0)').submit();
                } else {
                    $(ele).data('editConfirmed', false);
                }
            });
        }

        return confirmed === true;
    },
    onblur    : 'ignore',
    type      : 'text',
    cancel    : '<div class="iptalbuton2">Cancel</div>',
    submit    : '<div class="kaydetbuton">Submit</div>',
});

请参阅http://jsfiddle.net/NA495/进行一些演示。