2013-10-02 79 views
0

我是jquery中的新成員。基本上我想要做的是,當用戶點擊#modquote它將檢查textarea是否爲空。如果不是,它會彈出確認框。如果用戶單擊確定,它將繼續進行下一步(第9行和下面),如果CANCEL不會發生。我的問題是何時出現確認框,無論用戶點擊確定/取消什麼都沒有發生。我只是想知道,我是否可以在jQuery中使用確認框,或者我錯過了相同的代碼?感謝您的幫助..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); 
}); 
+0

您沒有測試確認結果,只是返回。 – melancia

+0

@MelanciaUK我認爲確認將自動檢測,如果用戶點擊確定,那麼它將返回true,如果單擊取消,則它將返回false。 – user2699175

+0

它實際上是這樣做的,但是你沒有捕獲結果或測試它。 – melancia

回答

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); 
    } 
}); 
0

它非常簡單,是的,它是possible.There是here.Just使用小黑客一個setTimeout的。如果用戶點擊了假button..the選項卡將關閉,如果用戶doesnt..then一個提示框會彈出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