在jquery中确认框

时间:2013-10-02 13:18:59

标签: javascript jquery

我是jquery的新手。基本上我想要做的是,当用户点击#modquote时,它会检查textarea是否为空。如果没有,它将弹出确认框。如果用户单击OK,它将进入下一步(第9行及以下),如果CANCEL什么也不会发生。我的问题是当出现确认框时,用户是否点击OK / CANCEL没有任何反应。我只是想知道,我是否可以在jquery中使用确认框,或者我在某处错过了相同的代码?谢谢你的帮助......

    $( '#modquote')
  .click(function() {
    var msgrep = $('textarea#modrepmsg').val();
    if (msgrep != '')
    {
        confirm("test?");
        return true;
    }
    var comment = $('#repmsg').val();
    var regex = /<br\s*[\/]?>/gi;
    var quote = '>' + comment.replace(regex, "\n>") + '\n';
    //$("textarea#modrepmsg").html(comment.replace(regex, "\n "));
    //var quote = ">" + comment + "\n";
    //alert (quote);
    //var count = comment.length;
    $('textarea#modrepmsg').html(quote);
});

2 个答案:

答案 0 :(得分:1)

组合确认对话框,测试textArea不为空,如

 $( '#modquote')
  .click(function() {
    var msgrep = $('textarea#modrepmsg').val();
    if (msgrep != '' && confirm("test?"))
    {
        var comment = $('#repmsg').val();
        var regex = /<br\s*[\/]?>/gi;
        var quote = '>' + comment.replace(regex, "\n>") + '\n';
        //$("textarea#modrepmsg").html(comment.replace(regex, "\n "));
        //var quote = ">" + comment + "\n";
        //alert (quote);
        //var count = comment.length;
        $('textarea#modrepmsg').html(quote);
    }
});

答案 1 :(得分:0)

它非常简单,是的,这是可能的。这里有一个小黑客。只需使用一个setTimeout。如果用户点击了离开按钮..标签将关闭,如果用户没有..那么会弹出一个警告框up.put你的代码而不是警告框

var timeout;
$(window).on('beforeunload', function (){
    timeout = setTimeout(function() {
        alert('execute any function instead of me!!!!'); //all your validation stuff goes here
    }, 1000);
    return "exitinggggggggggggggggggggg";
});

sample fiddle