2010-07-13 2 views
2

Есть ли способ установить оповещение с помощью jQuery?jQuery Alert Box

У меня есть PDF, которые мне нужно посетители согласиться, прежде чем продолжить ...

Итак: пользователь щелкает PDF ссылка оповещение Box открывает: «Вы должны согласиться на наше заявление, прежде чем мы даем вам этот PDF « Кнопка« Я согласен »(загрузка PDF-файлов)/Я не согласен с кнопкой (окно закрывается и отображается исходная страница)

Это лучший способ справиться с этим?

Должен ли я использовать диалоговое окно?

ответ

0

я нашел после того, как МНОГО Мессинг лучший способ это это как легкий способ эмуляции яваскрипта нативный оповещение с помощью диалогового интерфейса, осуществляется следующим образом (который, кстати, я написал сам, потому что есть высокий дефицит полезного материала на эту тему и много людей, изнуряющих об использовании подключаемых модулей, делают многоэтапное «это» или раздражающее », что« ZZZzzz ...):

NB: Вы не можете действительно сделать эквивалент функции confirm() - без fass, но вы можете использовать html-богатые предупреждения и добавлять события для этого богатого html самостоятельно в конце вызова jQueryAlery().

он работает отлично и включает в себя дополнительные отладки для «просмотра» в HTML или «URL» в случае последнего

function JQueryAlert(message,windowHeight){ 
    /**** 
    * equivalent to javascript 'alert' 
    */ 
    if (!windowHeight) var windowHeight = 470; 

    $("#msgdialog").remove(); 

    $("body").append("<div id='msgdialog'></div>"); 

    thatmsg = $("#msgdialog"); 

    $("#msgdialog").dialog({ 
     resizable: false, 
     draggable: false, 
     width: 770, 
     height: windowHeight, 
     context: thatmsg, 
     modal: true, 
     autoOpen: false, 
     buttons: { 
      "Cancel" : function(){ 
       thatmsg.dialog("close"); 
      }/*, 
      "View Source" : function(){ 
       alert($('<div>').append($(this).clone()).html()); 
      }*/ 
     } 
    });  

    $("#msgdialog").html(message); 
    $("#msgdialog").dialog('open');  
} 

же, как и выше, за исключением того, идет и получает содержимое из URL

function JQueryHTML(url,windowHeight){ 
    /**** 
    * equivalent to javascript 'alert' but gets a url 
    */ 

    if (!windowHeight) var windowHeight = 470; 

    $("#dialog").remove(); 

    $("body").append("<div id='dialog'></div>"); 

    that = $("#dialog"); 

    $("#dialog").dialog({ 
     resizable: false, 
     draggable: false, 
     width: 770, 
     height: windowHeight, 
     context: that, 
     modal: true, 
     autoOpen: false, 
     buttons: { 
      "Cancel" : function(){ 
       that.dialog("close"); 
      }/*, 
      "View Source" : function(){ 
       alert($('<div>').append($(this).clone()).html()); 
      }, 
      "View Url" : function(){ 
       alert(url); 
      }*/ 
     } 
    });  

    $.get(url, function(data) { 
     $("#dialog").html(data); 
     $("#dialog").dialog('open'); 
    }); 
} 

редактировать:

Я использую его с помощью следующего PHP с большим эффектом

if ($_SESSION['alert_message']){ 
     echo "<script>\n"; 
     echo " $(function() { \n"; 
     echo " JQueryMessage('".str_replace("'","\'",$_SESSION['alert_message'])."'); \n"; 
     echo " }); \n"; 
     echo "</script>\n"; 
     unset($_SESSION['alert_message']); 
    } 
+0

«Вы не можете действительно сделать эквивалент подтверждения() - для информации, следующий вопрос показывает один довольно ненавязчивый способ реализации эквивалента confirm() с диалогом jquery-ui: http://stackoverflow.com/questions/8105556/how-do-i-explicitly- execute-default-action-from-jquery-event/8135983 # 8135983 – Joe

+0

нет, я имел в виду, что вы не можете «если (подтвердить (« да нет? »)) {// сделать что-то;}" – conners

0

Если вы хотите использовать Jquery Alert/Confirm/Prompt Box check out this example.

Или даже лучше Вы должны использовать всплывающее окно из jquery. Он выглядит немного с CSS.

$('#errorBtn').click(function(e) { 
    if (acceptCondition()=='on'){ 
     // Prevents the default action to be triggered. 
     e.preventDefault();     
     // Triggering bPopup when click event is fired 
     $('#popup').bPopup({ 
      opacity: 0.6, 
      zIndex: 200, 
      modalClose: false, 
      positionStyle: 'fixed' 
     }); 

Вы должны включить jquery.bpopup-0.7.0.min.js также :)
Вы можете камыш более здесь dinbror.dk