2012-03-02 8 views
5

al usar jquery mobile, y carga una página no válida, se informa un mensaje de error mostrando elegantemente que la página de carga falló (luego se desvanece). Mira la imagen adjunta.jquery mobile: cómo usar el "cuadro de diálogo de informe de error"

quiero utilizar esta interfaz de usuario para informar mis propios mensajes de error personalizados y animarlos de la manera en que se hace. alguien tiene alguna experiencia haciendo esto?

me gustaría informar algunos errores sin utilizar cuadros de diálogo y este método parece apropiado. ¿Se puede hacer esto utilizando jquery y si muestra el código? enter image description here

+0

Esta pregunta debería ayudarlo: http://stackoverflow.com/questions/8267159/jquery-mobile-how-to-invoke-the-default-error-loading-page-message –

Respuesta

10

En la última versión 1.1.0 RC puede utilizar $.mobile.showPageLoadingMsg para mostrar mensajes de error personalizados:

// show error message 
$.mobile.showPageLoadingMsg($.mobile.pageLoadErrorMessageTheme, $.mobile.pageLoadErrorMessage, true); 

// hide after delay 
setTimeout($.mobile.hidePageLoadingMsg, 1500); 
+0

im usando jquery.mobile-1.0 .1.min.js y falla. simplemente gira y muestra carga, déjame buscar esa versión –

+0

Con 1.0.1 necesitas ver la respuesta que JackieChiles publicó como comentario a tu pregunta. –

+0

Sir Lojik, intente agregar: $ .mobile.loadingMessageTextVisible = true; a su proyecto ... que le permitirá mostrar texto en los mensajes – BorisD

1

Se puede usar esta para ocultar el div de error:

div.ui-loader.ui-overlay-shadow { display: none !important; } 
2

tengo tuvo un problema similar. Necesitaba mostrar los errores de validación después de validar el formulario enviado. Así que he escrito este código:

function showErrorMessage(message, $container, delay) { 
    $err = $('<div/>', { 
     id: 'error_message' 
    }); 
    $err.attr('data-role', 'popup'); 
    $err.attr('data-theme', 'e'); 
    $err.attr('data-overlay-theme', 'a'); 
    $err.attr('data-position-to', 'window'); 
    $err.addClass('ui-content'); 
    $err.text(message); 

    $container.children().detach(); 
    $container.append($err); 

    $err.popup(); 
    $err.popup("open"); 

    if(delay > 0) { 
     setTimeout(function() { 
      $err.popup("close"); 
     }, delay); 
    } 
} 

Se muestra este mensaje: enter image description here

+0

¿cómo se usa esta función? – Smith

+0

Antes que nada, debe tener jQm importado en su archivo html. Luego, si algo salió mal simplemente llame al 'showErrorMessage (" uuups! ", $ ('# Error'), 1000);' y esta ventana emergente debería aparecer por un segundo. No estoy seguro de si hay algo más que hacer, porque no he visto este proyecto desde marzo de –

2

Una solución sencilla podría ser:

function show_error_message(message, delay) { 
    $.mobile.loading('show', 
        { theme: "e", text: (message || 'ERROR'), 
         textonly: true, textVisible: true }); 
    setTimeout(function() { 
     $.mobile.loading('hide'); 
    }, ((delay && delay > 0) ? delay : 1000)); 
} 

Uso:

show_error_message("Wow!!!", 1500); 

El mensaje Wow!!! se mostrará en el centro de la ventana.

+0

Esto parece funcionar para mí en jqm 1.4. La respuesta aceptada no pareció funcionar. – bowerm

Cuestiones relacionadas