0

我是 jquery 的新手。基本上我想要做的是,当用户点击#modquote它会检查 textarea 是否为空。如果没有,它会弹出确认框。如果用户单击 OK,它将继续下一步(第 9 行及以下),如果 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);
});
4

2 回答 2

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);
    }
});
于 2013-10-02T13:21:41.347 回答
0

它非常简单,是的,这是可能的。这里有一个小技巧。只需使用 setTimeout 。如果用户单击离开按钮..选项卡将关闭,如果用户没有..然后会弹出一个警报框。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";
});

小提琴样本

于 2013-10-02T13:35:07.510 回答