2009-05-05 41 views
97

Javascript Confirmar ventana emergente, Quiero mostrar Sí, No hay botón en lugar de Aceptar y Cancelar.Javascript Confirmar ventana emergente Sí, sin botón en lugar de Aceptar y cancelar

He utilizado este código VBScript:

<script language="javascript"> 
    function window.confirm(str) { 
     execScript('n = msgbox("' + str + '","4132")', "vbscript"); 
     return (n == 6); 
    } 
</script> 

esto sólo funciona en IE, en FF y Chrome, que no funciona.

¿Hay algún trabajo para lograr esto en Javascript?

También quiero cambiar el título de la ventana emergente como en IE 'Windows Internet Explorer' se muestra, quiero mostrar aquí mi propio nombre de aplicación.

+0

He hecho un diálogo sí no, es muy fácil de personalizar: https://github.com/stein189/YesNoDialog Puedes probar este si has nt a – Szenis

Respuesta

83

Desafortunadamente, no hay compatibilidad con varios navegadores para abrir un cuadro de diálogo de confirmación que no sea el par predeterminado de Aceptar/Cancelar. La solución que proporcionó utiliza VBScript, que solo está disponible en IE.

Sugeriría usar una biblioteca de Javascript que pueda construir un diálogo basado en DOM en su lugar. Trate de jQuery UI: http://jqueryui.com/

17

La única manera de lograr esto de una manera multi-navegador es utilizar un marco como jQuery UI y crear un diálogo personalizado:

jquery Dialog

Doesn' t funciona exactamente de la misma manera que la ventana emergente de confirmación incorporada, pero debería poder hacer que haga lo que desea.

+3

Para mayor claridad, no es la ÚNICA manera, puede escribir la suya en Javascript, por supuesto, pero no sería lo correcto. – LeonardChallis

+1

@LeonardChallis pero es mejor incluir una gran biblioteca solo para una funcionalidad modal de div. No lo creo –

4

No puede hacer este navegador cruzado con la función de confirmación() o similar. Le sugiero que use algo como la función jQuery UI dialog para crear un cuadro de diálogo HTML.

6

También puede usar http://projectshadowlight.org/jquery-easy-confirm-dialog/. Es muy simple y fácil de usar. Basta con incluir la librería jQuery común y sólo uno más archivos:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript"></script> 
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js"></script> 
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.1/themes/blitzer/jquery-ui.css" type="text/css" /> 
<script src="jquery.easy-confirm-dialog.js"></script> 
-9

la respuesta muy específica para el punto es confirmar el diálogo Js Función:

confirm('Do you really want to do so'); 

Se muestran cuadro de diálogo con OK Cancelar botones, para reemplazar este botón con sí no no es una tarea tan simple, para eso necesita escribir la función jQuery.

+1

Él quería un Sí y No. Esta confirmación solo da un OK o cancela. Es por eso que esto está siendo rechazado. –

2

Tenga una mirada en http://bootboxjs.com/

Muy fácil de usar:

bootbox.confirm("Are you sure?", function(result) { 
    Example.show("Confirm result: "+result); 
}); 
0

1) Se puede descargar y cargar a continuación los archivos en su sitio

<link href="/Style%20Library/css/smoothness/jquery.alerts.css" type="text/css" rel="stylesheet"/> 

2) después de eso puede usar directamente el siguiente código

$ .alerts.okButton = "sí"; $ .alerts.cancelButton = "no";

en la función document.ready.

Por favor, intente que funcione.

Gracias

3

El destacado (pero pequeña y simple) biblioteca que puede utilizar es JSDialog: js.plus/products/jsdialog

Este es un ejemplo para la creación de un cuadro de diálogo con los botones Sí y No:

JSDialog.showConfirmDialog(
    "Save document before it will be closed?\nIf you press `No` all unsaved changes will be lost.", 
    function(result) { 
     // check result here 
    }, 
    "warning", 
    "yes|no|cancel" 
); 

JS Dialog demo screenshot

+0

Oye, ¿dónde descargas esto? – Gary

Cuestiones relacionadas