Sexy Alert Box 1.2 mootools & jQuery

View this post in English

Sexy Alert Box es un clon “sexy” del clásico alert de javascript. Con un aire a lightbox, cambia las feas alertas de windows por alertas mas atractivas!.

sexyalertbox12

Características de SexyAlertBox:

  • Estilo: Mostrar mensajes de error de una manera más bonita.
  • Compatibilidad: Funciona tanto en navegadores modernos, como en Internet Explorer.
  • Requiere: Mootools 1.2 o superior
  • Requiere: jQuery 1.3 o superior

6, 7, 8
3.0, 3.5
9.64, 10
3
4

Demostración

Puedes ver la demostración del script en el siguiente enlace: Ver demo.

Instalación

Sube todos los archivos de SexyAlertBox a tu servidor. Las imágenes, el CSS y el Javascript. Si ubicas la carpeta imágenes en un directorio diferente, no olvides cambiar las rutas que están dentro del archivo CSS.

Para usar mootools pega el siguiente código:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/mootools/1.2.1/mootools-yui-compressed.js"></script>
<script type="text/javascript" src="sexyalertbox.v1.2.moo.js"></script>
<link rel="stylesheet" type="text/css" media="all" href="sexyalertbox.css"/>

Para usar jQuery pega el siguiente código:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js"></script>
<script type="text/javascript" src="jquery.easing.1.3.js"></script>
<script type="text/javascript" src="sexyalertbox.v1.2.jquery.js"></script>
<link rel="stylesheet" type="text/css" media="all" href="sexyalertbox.css"/>

¿Cómo se usa?

Usar SexyAlertBox es fácil:

Sexy.alert('Hello world!');

Para crear un alert más personalizado, puedes usar el segundo parámetro:

Sexy.confirm('Hello world!', {
  textBoxBtnOk: 'Quiero Entrar',
  textBoxBtnCancel: 'Quiero Salir'
});

Recuerda que puedes poner código html en el mensaje del alerta.

Lee la documentación para ver todas las opciones disponibles.

Documentación

Funciones públicas:

  • alert

    @param string msg
    @param array propiedades

    Muestra un alerta con el icono de alerta.

  • info

    @param string msg
    @param array propiedades

    Muestra un alerta con el icono de información.

  • confirm

    @param string msg
    @param array propiedades

    Muestra un alerta con el icono de pregunta con dos botones, OK y Cancelar. El evento onComplete devuelve verdadero(true) si el botón OK fue presionado, o falso(false) si se pulsa Cancelar.

  • prompt

    @param string msg
    @param string default
    @param array propiedades

    Muestra un alerta con una caja de texto en la que el usuario puede introducir contenido. También muestra dos botones, OK y Cancelar.

    El segundo parámetro es el valor predeterminado para la caja de texto, que el usuario podrá modificar.

    El evento onComplete devuelve el valor ingresado si el botón OK fue presionado, o falso(false) si se pulsa Cancelar. Adicionalmente puedes establecer la propiedad ‘password=true’ si quieres mostrar un campo con asteriscos. Ejemplo:

    Sexy.prompt('Ingresa tu contraseña para poder identificarte en el sistema.','valor predeterminado' ,{password: true}); 

Eventos

Evento para las funciones alert, confirm, prompt, info, error:

  • onComplete

    Evento lanzado cuando el usuario presiona cualquier botón del alerta. Retorna el valor del boton presionado: falso en caso de que haya pulsado Cancelar.

    Sexy.prompt('Ingresa tu nombre.','Mi Nombre' , {
      onComplete:
        function(returnvalue) {
          alert (returnvalue);
        }
      });
    Sexy.confirm('¿Desea continuar?', {
      onComplete:
        function(returnvalue) {
          if (returnvalue) {
            alert ('presionaste OK');
          } else {
            alert('presionaste Cancelar');
          }
        }
      });

Licencia

El script es publicado bajo la licencia MIT.

¿Problemas? ¿Dudas?

Tranquilo! no saltes por la ventana [aún], puedes presentar todas tus dudas en el foro especialmente creado para Sexy Alert Box.

¿Cuanto cuesta?

Nada. Pero puedes colaborar con el blog haciendo una donación. :roll:

Download

Changelog

SexyAlertBox 1.2.2 - Mayo 25, 2009
* Updated for MooTools 1.2.2

SexyAlertBox 1.2.1 - Febrero 27, 2009
* Bug en jQuery, Selects no se ponían visibles

SexyAlertBox 1.2.0 - Febrero 09, 2009
* Dar foco a los botones
* Tecla ESC cierra el alerta
* Ocultar flash
* Reescrito desde 0 para jQuery

SexyAlertBox 1.1.0 - Septiembre 08, 2008
* Pre-Cargar imágenes del Skin, antes de mostrar el alerta
* Ocultar Selects, y elementos flash en IE6

SexyAlertBox 1.0.0 - Agosto 12, 2008
* 100% Compatible con Mootools 1.2.
* Chain Implemented (Cola de mensajes).
* Agregado mas estilos y soporte para prompt con contraseña.
* Arreglada la ejecución de eventos.

Hi Eduardo,

Can you help me please. I want to put sex.confirm on the below script but I can’t figer out how. I have managed to get sexy.confirm into the script but I cannot get the cancel button to work.

Thank you.

$(document).ready(function(){
  $('.calendarLink').live("click", (function(ev) {
    Sexy.confirm('Confirm your slectionThis automatically sends email.');
    var prefix = 'date_';
    var date = this.id.substring( ( prefix.length ) ); 

    $.ajax({
      type: "POST",
      url: "Sitefiles-N/jquery.formwizard-0.9.8/QuoteProcessor3.asp",
      data: "date="+date,
      success: function(msg){
        $('#result').html(msg);
      }
    });
  }));
});

    Eduardo dice:

    Hi, I think you need something like this:

    $(document).ready(function(){
      $('.calendarLink').live("click", (function(ev) {
        Sexy.confirm('Confirm your slection<em>This automatically sends email.</em>', {
          onComplete: function(returnvalue) {
    
            if (returnvalue) {
              var prefix = 'date_';
              var date = this.id.substring( ( prefix.length ) ); 
    
              $.ajax({
                type: "POST",
                url: "Sitefiles-N/jquery.formwizard-0.9.8/QuoteProcessor3.asp",
                data: "date="+date,
                success: function(msg) {
                  $('#result').html(msg);
                }
              }); //ajax
            } else {
              // user click cancel
            }
        }}); //sexy confirm
      })); //click
    }); //ready
    
    ¿Este comentario te ha servido? y colabora con el blog
    Responder

      Dear Eduardo,

      Thank you for taking the trouble to help me with this issue.

      Nearly done it! The cancel button works fine.

      The accept button errors; when clicking “OK” I get the following error message – “this.ID” is Null or not an object.

      Can you suggest an alternative?

      Kind regards

      Jonathan

        Eduardo dice:

        How lazy are you? ;)

        $(document).ready(function(){
          $('.calendarLink').live("click", (function(ev) {
            self = this;
            Sexy.confirm('Confirm your slection<em>This automatically sends email.</em>', {
              onComplete: function(returnvalue) {
        
                if (returnvalue) {
                  var prefix = 'date_';
                  var date = self.id.substring( ( prefix.length ) ); 
        
                  $.ajax({
                    type: "POST",
                    url: "Sitefiles-N/jquery.formwizard-0.9.8/QuoteProcessor3.asp",
                    data: "date="+date,
                    success: function(msg) {
                      $('#result').html(msg);
                    }
                  }); //ajax
                } else {
                  // user click cancel
                }
            }}); //sexy confirm
          })); //click
        }); //ready
        
        ¿Este comentario te ha servido? y colabora con el blog
        Responder
Guillermo dice:

Eduardo
Me podrías confirmar si el sexy.comfirm se puede asociar a un botón asp en una página aspx.
Disculpa la insistencia, pero llevo varios días cambiando el código y no logro hacerlo andar.
Gracias

Anthony dice:

Hello Eduardo

I am using the Gallery feature of Sexy Lightbox.

When one image changes to the next, the background of the picture frame is empty, so the main calling page is visible in the lightbox frame. Is it possible to have a background that would hide the calling page (only within the frame) during the picture transition? In my case, I would like it to be white to match the lightbox frame.

I hope that makes sense. You can see an example here:-

http://www.harrows-darts.com/flights.shtml

Regards

Anthony Pringle

manu dice:

Hola eduardo, antes que nada felicitarte por tu gran ayuda, esta muy bien tu alert, ahora bien quiero saber como implementar tu sexyalert en un botton submit, a la hora de guardar datos.

    leo dice:

    Que buena libreria., pero tengo la misma pregunta que manu,he tenido problemas para usarlo en un confirm con un submit, antes de enviar el formulario.
    En este segmento de codigo:
    Sexy.confirm(’¿Desea continuar?’, {
    onComplete:
    function(returnvalue) {
    if (returnvalue) {
    alert (’presionaste OK’);
    } else {
    alert(’presionaste Cancelar’);
    }
    }
    });
    la variable returnvalue, es una variable local, y no permite ser retornada.
    Alguien sabe como implementar esto en un submit, con un confirm.
    gracias.

Matt dice:

this.Content.setProperty('class','BoxPrompt');

          if ($type(message) == 'string')
            this.Content.set('html', message + '<br />');
          else
            this.Content.adopt(message);

This will detect is the message content is a collection of Elements or html string. I suggest this patch for all occurances of

this.Content.set('html', message + '<br />');

Syrakooz dice:

Hola, exelente libreria, felicitaciones amigo.

una consulta, es posible hacer el login con dos parametros de entrada, usuario y contraseña??

agradecido por tu respuesta

Andrés