2016-11-27 2 views
0

Ich bin ein Anfänger in Javascript und ich muss eine Warnung für den Benutzer generieren, wenn Sie auf menu2 auf meiner Seite klicken, um eine Nachricht zurückzugeben, dafür entschied ich mich für ein modales Plugin mit allen Browsern kompatibel Plugin modal Der folgende Code war alles ich Bis jetzt konnte es aber ohne Erfolg gehen. Hier ist mein htmlWie man modale Warnung mit sweetalert verursacht?

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script> 
 

 
<ul id='menu'> 
 
    <li id='menu1'><a href='/web/front/helpdesk.public.php' title="Home" class='itemP'>Home</a> 
 
    </li> 
 
    <li id='menu2'><a href='/web/front/helpdesk.public.php' title="Cria um chamado" class='itemP'>Cria um chamado</a> 
 
    </li> 
 
    <li id='menu3'><a href='/web/front/ticket.php' title="Chamados" class='itemP'>Chamados</a> 
 
    </li> 
 
    <li id='menu4'><a href='/web/front/reservationitem.php' title="Reservas" class='itemP'>Reservas</a> 
 
    </li> 
 
    <li id='menu5'><a href='/web/front/helpdesk.faq.php' title="FAQ" class='itemP'>FAQ</a> 
 
    </li> 
 
</ul>

Und hier ist mein Javascript

echo '<script type="text/javascript">'; 
 
    echo'setTimeout(function() { 
 
    swal 
 
    ("Return the alert test !", 
 
    "Message!", 
 
    "success");'; 
 
    echo '}, 1000); 
 
    </script>';

Rückkehr des Alarms auf der Seite zu arbeiten.

enter image description here

Ich habe es auf diese Weise versucht, aber bisher ohne Erfolg.

 echo '<script type="text/javascript">'; 
 
    echo'setTimeout(function() { 
 
    echo '$(document).ready(function() { 
 
    echo '$('#menu2').click(function(event) { 
 
    swal 
 
    ("Return the alert test !", 
 
    "Message!", 
 
    "success");'; 
 
    echo '}, 1000); 
 
    </script>';

Fehler beim Versuch, die Lösung in meinem PHP zu laufen.

enter image description here

Ich will nicht die Methode aufgerufen die Standardaktion des Ereignisses werden, wird nicht ausgelöst. Verwenden Sie dazu event.preventDefault(); Aber es funktioniert nicht für mich. Die Warnung wird nicht angezeigt. Hat jemand eine Lösung?

echo '<script type="text/javascript">'; 
 
echo '$(document).ready(function(){'; 
 
echo ' $("#menu2").click(function(event){'; 
 
echo '   event.preventDefault()';   
 
echo '  swal("Return the alert test !", "Message!", "success")'; 
 
echo ' })'; 
 
echo '});'; 
 
echo '</script>';

+0

Ein Mann erfordert nicht setTimeout() durch document.ready() verwenden. Auch mehrere endende Klammern fehlen. Prüfen sie ihre Konsole. – Lain

Antwort

1

Ihre rohe jquery sollte wie folgt aussehen (richtig geschlossene Funktionen):

$(document).ready(function(){ 
    $('#menu2').click(function(event){ 
     swal("Return the alert test !", "Message!") 
    }) 
}); 

auch immer Sie es Echo, Sie liegt. Sie brauchen setTimeout() auch nicht mit document.ready().

Edit:

echo '<script type="text/javascript">'; 
echo '$(document).ready(function(){'; 
echo ' $("#menu2").click(function(event){'; 
echo '  swal("Return the alert test !", "Message!")'; 
echo ' })'; 
echo '});'; 
echo '</script>'; 
+0

Ich getestet in NetBeans, gibt Syntaxfehler in PHP nicht für mich arbeiten. echo ''; $ (Dokument) .ready (Funktion() { $ ('# menu2').click (function (event) { swal ("Zurückgeben des Alarmtests!", "Nachricht!") }) }); '; –

+0

Wahrscheinlich wegen der einfachen Anführungszeichen um menu2. Ein Mann sollte verschiedene Sprachen String-Begrenzer nicht verwechseln. – Lain

+0

Ich habe hier getestet, habe es nicht für mich gelöst, bis jetzt kann ich nur die Warnung auf der Seite mit meinem Beispiel zurückgeben. Was wäre das Beste für Sie, um besser zu verstehen? –

0

konnte ich die modale Alarm sweetalert Arbeit machen, indem sie die Antworten hier erhalten folgende. Ich hatte ein besseres Verständnis von Javascript und speziell event.preventdefault zu dem Code unten, der für mich perfekt funktionierte.

?> 
 
<script type="text/javascript"> 
 
    $(document).ready(function() { 
 
    $("#menu2").click(function(event) { 
 
     event.preventDefault(); 
 
     swal("Many thanks to everyone for making me a better programmer.!", "Message", "success"); 
 
    }) 
 
    }); 
 
</script> 
 
<?php