Foros del Web » Programando para Internet » PHP »

SweetAlert en OnClick usando PHP

Estas en el tema de SweetAlert en OnClick usando PHP en el foro de PHP en Foros del Web. Hola , estoy haciendo una funcion en PHP para pedir una confirmacion usando SweetAlert en el evento OnClick , el problema es que en ninguno ...
  #1 (permalink)  
Antiguo 20/01/2016, 21:28
 
Fecha de Ingreso: noviembre-2014
Mensajes: 46
Antigüedad: 9 años, 5 meses
Puntos: 0
SweetAlert en OnClick usando PHP

Hola , estoy haciendo una funcion en PHP para pedir una confirmacion usando SweetAlert en el evento OnClick , el problema es que en ninguno de los dos casos de este codigo funciona :

Código:
<meta http-equiv="content-type" content="text/html; UTF-8" />

<script src="Scripts/jquery-1.4.4.min.js"></script>
<script src="sweetalert/dist/sweetalert-dev.js"></script>
<link rel="stylesheet" href="sweetalert/dist/sweetalert.css">

<body>

<?php

function ShowMessage($titulo,$contenido,$tipo) {
    if($tipo=="ok") {
        //
    }
    else if($tipo=="error") {
        //
    } else if($tipo=="ask") {
echo "
swal({
  title: '$titulo',
  text: '$contenido',
  type: 'warning',
  showCancelButton: true,
  confirmButtonColor: '#DD6B55',
  confirmButtonText: 'Yes, delete it!',
  cancelButtonText: 'No, cancel plx!',
  closeOnConfirm: false,
  closeOnCancel: false
},
function(isConfirm){
  if (isConfirm) {
    return true;
  } else {
    return false;
  }
});
";
    } else {

    }
}

?>

<a href='http://www.google.com' onClick="<?php ShowMessage("test","test","ask"); ?>">Go</a>

<form action="http://www.google.com">
<input type="submit" name="none" text="test" onClick="<?php ShowMessage("test","test","ask"); ?>">
</form>

</body>
El error es que no espera a controlar la respuesta simplemente se redirecciona a la pagina marcada y no pide la confirmacion.

¿ Alguien me podria ayudar ?
  #2 (permalink)  
Antiguo 20/01/2016, 21:39
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: SweetAlert en OnClick usando PHP

¿Si sabes que PHP se ejecuta en el servidor únicamente verdad?

Es imposible que funcione tu código porque entonces la función ShowMessage() de PHP ya se ejecutó e imprimió algo, no se ejecutará en el evento onclick porque son contextos y tiempos diferentes.

Debes resolver tu problema únicamente con Javascript en todo caso.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 20/01/2016, 21:55
 
Fecha de Ingreso: noviembre-2014
Mensajes: 46
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: SweetAlert en OnClick usando PHP

Si , tambien lo habia intentado pero es el mismo problema , no espera la confirmacion.

Código:
<script>
function showMessage2(title, text, tip) {
    if (tip == 'ask') {
      swal({
        title: title,
        text: text,
        type: 'warning',
        showCancelButton: true,
        confirmButtonColor: '#DD6B55',
        confirmButtonText: 'Yes, delete it!',
        cancelButtonText: 'No, cancel plx!',
        closeOnConfirm: false,
        closeOnCancel: false,
		showLoaderOnConfirm:true
      },
      function(isConfirm){
        if (isConfirm) {
          return true;
        } else {
		   return false;
        }
      });
	  
    }
  }
</script>

<form action="http://www.google.com">
<input type="submit" name="none" text="Fuck" onClick="return showMessage2('test','test','ask');">
</form>
  #4 (permalink)  
Antiguo 20/01/2016, 22:22
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: SweetAlert en OnClick usando PHP

¿Al menos entiendes cómo funciona Javascript?

El punto es que el evento onclick es "sync" pero tu función es "async" y por ende el resultado de la misma jamás se devuelve de inmediato y de ahí que no funcione como esperas.

Deberías consultar la documentación de la librería que usas para que entiendas como funciona, el combinarla con PHP no hará que funcione por arte de magia.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 20/01/2016, 23:17
 
Fecha de Ingreso: julio-2011
Ubicación: Los Rios
Mensajes: 145
Antigüedad: 12 años, 9 meses
Puntos: 10
Respuesta: SweetAlert en OnClick usando PHP

Yo tenia un inconveniente similar lo que he hecho es en el onclick llamar a una funcion JS
Código HTML:
Ver original
  1. onclick="borrar(<?php echo $consulta['id_consultado']?>)"

En la funcion borrar de JS que necesitas usar AJAX

Código HTML:
Ver original
  1. function borrar(code){
  2.     swal({   title: "Esta Seguro?",   text: "EL MENSAJE",   type: "warning",   showCancelButton: true,   confirmButtonColor: "#DD6B55",   confirmButtonText: "Si, Eliminar!",   cancelButtonText: "No, cancelar la eliminación!",   closeOnConfirm: false,   closeOnCancel: false }, function(isConfirm){   if (isConfirm) { eliminanomas(code); swal("Documento Eliminado!", "MENSAJE DE ELIMINACION", "success");   } else {     swal("Cancelado", "MENSAJE DE CANCELACION", "error");   } html:true });
  3. }

entenderás que la funcion "eliminanomas" envia a traves de ajax a php para que haga el delete
__________________
___________________________
Si te ayudo mi respuesta dale al +1
  #6 (permalink)  
Antiguo 20/01/2016, 23:51
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: SweetAlert en OnClick usando PHP

mira esta:
Código Javascript:
Ver original
  1. function eliminaAdjunto(X){
  2.     valor = X;
  3.     swal({  
  4.         title: "Está seguro?",  
  5.         text: "El archivo se eliminará del servidor completamente. Esta acción es irreversible!",  
  6.         type: "warning",  
  7.         showCancelButton: true,  
  8.         confirmButtonColor: "#DD6B55",  
  9.         confirmButtonText: "Eliminar!",  
  10.         cancelButtonText: "Cancelar",  
  11.         closeOnConfirm: false,
  12.         showLoaderOnConfirm: true,  
  13.         closeOnCancel: false
  14.         },
  15.        
  16.         function(isConfirm){  
  17.         if (isConfirm) {    
  18.        
  19.  
  20.         $.ajax({
  21.             /*data: parametros,*/
  22.             url: 'inspecciones/elimina_adjunto.php?id='+valor,
  23.             type: 'get',
  24.  
  25.             success: function (response) {
  26.                
  27.                 $("#lista_adjuntos").html(response);
  28.                 $('#carga').removeAttr('disabled');
  29.                
  30.                 var controlL = parseInt(document.getElementById('control').value);
  31.                 var controlLB = (controlL-1);
  32.                 document.getElementById('control').value = controlLB;
  33.                                
  34.                 swal("Borrado!", "El archivo ha sido borrado completamente.", "success");
  35.             }
  36.         });
  37.        
  38.          
  39.          } else {    
  40.          
  41.          swal("Cancelado", "Se ha cancelado la acción de eliminar", "error");  
  42.          
  43.          } });
  44.  
  45.     }/*Fin funcion*/

Esa que ves allí es para eliminar un archivo adjunto de la investigación (una app que estoy realizando), realiza varios controles entre otros pero como puedes ver, al aceptar enviar por ajax la petición de eliminación, espero te sirva, es fácil trabajar con esas alertas y combinarlas con php mediante ajax, dependiendo claro de lo que estes haciendo.

Saludos!
__________________
[email protected]
HITCEL

Etiquetas: html, onclick, usando
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:18.