web-dev-qa-db-fra.com

Javascript Confirmer le menu contextuel Oui, le bouton Non au lieu de OK et Annuler

Javascript Confirmer le popup, je veux montrer le bouton Oui, Non au lieu de OK et Annuler.

J'ai utilisé ce code vbscript:

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

cela ne fonctionne que dans IE, In FF et Chrome, cela ne fonctionne pas.

Existe-t-il un moyen de contourner ce problème en Javascript?

Je souhaite également modifier le titre de la fenêtre contextuelle comme dans IE "Windows Internet Explorer" s'affiche, je souhaite afficher ici mon propre nom d'application.

108
Muhammad Akhtar

Malheureusement, l'ouverture d'une boîte de dialogue de confirmation ne correspond pas à la paire OK/Annuler par défaut pour tous les navigateurs. La solution que vous avez fournie utilise VBScript, disponible uniquement dans Internet Explorer.

Je suggérerais d'utiliser une bibliothèque Javascript qui peut créer un dialogue basé sur le DOM. Essayez Jquery UI: http://jqueryui.com/

87
johnvey

La seule façon dont vous pouvez accomplir cela de manière inter-navigateur est d'utiliser un framework tel que l'interface utilisateur jQuery et de créer un dialogue personnalisé:

Dialogue jQuery

Cela ne fonctionne pas exactement de la même manière que la fenêtre contextuelle de confirmation intégrée, mais vous devriez pouvoir le faire faire ce que vous voulez.

17
user7094

Vous pouvez également utiliser http://projectshadowlight.org/jquery-easy-confirm-dialog/ . C'est très simple et facile à utiliser. Incluez simplement la bibliothèque commune jquery et un seul fichier supplémentaire:

<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>
8
Quan

La bibliothèque que vous pouvez utiliser (mais petite et simple) est JSDialog: js.plus/products/jsdialog

Voici un exemple pour créer une boîte de dialogue avec les boutons Oui et Non:

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"
);

capture d'écran de la démo de JS Dialog

4
Dan Spirit

Vous ne pouvez pas faire cette navigation sur plusieurs navigateurs avec la fonction confirm () ou similaire. Je vous suggère fortement d'utiliser quelque chose comme la fonction dialogue de l'interface utilisateur jQuery pour créer une boîte de dialogue HTML à la place.

4
cletus

Regardez http://bootboxjs.com/

Très facile à utiliser:

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

1) Vous pouvez télécharger et télécharger ci-dessous des fichiers sur votre site

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

2) après cela, vous pouvez directement utiliser le code ci-dessous

$ .alerts.okButton = "yes"; $ .alerts.cancelButton = "no";

dans la fonction document.ready.

S'il vous plaît essayez cela fonctionnera.

Merci

0
Reshma bhalekar