Javascript 如何在div卸载时使用ajax发送复选框而不单击任何提交按钮

Javascript 如何在div卸载时使用ajax发送复选框而不单击任何提交按钮,javascript,ajax,checkbox,fancybox,onbeforeunload,Javascript,Ajax,Checkbox,Fancybox,Onbeforeunload,我试图在我的fancybox上设置一个“完成”按钮,当用户选中复选框时,它将被标记为“完成”,复选框值将在fancybox上的div卸载后提交,并且没有可单击的提交按钮,该值将仅在fancybox中的div卸载后发送,我使用ajax提交该值 问题是当fancybox卸载时,“函数donerem()”即使在我使用onbeforeunload时也不会执行 ajaxscript:这应该在fancybox关闭后触发 var R = jQuery.noConflict(); //REMINDER don

我试图在我的fancybox上设置一个“完成”按钮,当用户选中复选框时,它将被标记为“完成”,复选框值将在fancybox上的div卸载后提交,并且没有可单击的提交按钮,该值将仅在fancybox中的div卸载后发送,我使用ajax提交该值

问题是当fancybox卸载时,“函数donerem()”即使在我使用onbeforeunload时也不会执行

ajaxscript:这应该在fancybox关闭后触发

var R = jQuery.noConflict();
//REMINDER done Submit ===============================================================================
function donerem(){
    if ($('input[name=done]').attr('checked') === 'checked') {
    alert ('checked');
    var ID = $(this).attr("id");
    var dataString = 'msg_id=' + ID;
    R.ajax({
        type: "POST",
        url: "database/clientpanel/wall/donerem.php",
        data: dataString,
        cache: false,
        success: function(html){
                alert ('done');
                var div = document.getElementById("rem" + ID);
                div.parentNode.removeChild(div);

        }
    });


    }
    else
    alert ('not checked');
return false;
});
}
fancybox:完成按钮

<div align="left" class="post_box" onbeforeunload="donerem()">
<input type="checkbox" id="<?php echo $id; ?>" name="done">
</div>


不完全确定我是否理解了这个问题。
要检查是否已选中,可以使用以下选项:

if ($('input[name=done]').attr('checked') === 'checked') {
    // selected
}
else {
    // not selected
}
你可以这样把它缩短:

var selected = ($('input[name=done]').attr('checked') === 'checked') ? true : false;
当fancybox关闭时,您需要启动AJAX调用。
您可以通过如下方式为事件分配侦听器来完成此操作:

$("#some-element").fancybox({
    'scrolling' : 'no',
    'titleShow' : false,
    'onClosed' : function() {
        // make AJAX request
        donerem();
    }
});

从fancybox博客中找到以下代码:

我正在尝试在不使用提交按钮的情况下向aajax发送一个值。您的问题不太清楚您具体在使用哪一位。你能澄清一下主要问题是什么吗?