Javascript Confirmer popup Oui, Non bouton au lieu de OK et Annuler


113

Javascript Confirmer la popup, je veux afficher 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, dans FF et Chrome, cela ne fonctionne pas.

Existe-t-il une solution de contournement pour y parvenir en Javascript?

Je veux aussi changer le titre du popup comme dans IE 'Windows Internet Explorer' est affiché, je veux montrer ici mon propre nom d'application.


J'ai fait moi-même un dialogue oui non, c'est vraiment facile à personnaliser: github.com/stein189/YesNoDialog Vous pouvez essayer celui-ci si vous le souhaitez
Szenis

Réponses:


88

Malheureusement, il n'y a pas de prise en charge multi-navigateurs pour ouvrir une boîte de dialogue de confirmation qui n'est pas la paire OK / Annuler par défaut. La solution que vous avez fournie utilise VBScript, qui n'est disponible que dans IE.

Je suggérerais d'utiliser une bibliothèque Javascript qui peut créer une boîte de dialogue basée sur DOM à la place. Essayez Jquery UI: http://jqueryui.com/


17

La seule façon d'accomplir cela de manière multi-navigateurs est d'utiliser un framework tel que jQuery UI et de créer une boîte de dialogue personnalisée:

Boîte de 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 lui faire faire ce que vous voulez.


4
Pour plus de clarté, ce n'est pas le SEUL moyen - vous pouvez bien sûr écrire le vôtre en Javascript, pas que ce soit la bonne chose à faire.
LeonardChallis

1
@LeonardChallis mais inclure une grande bibliothèque juste pour une fonctionnalité div modale est mieux? Je ne pense pas
nicholaswmin

8

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 autre fichier uniquement:

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



3

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

Voici un exemple de création d'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émonstration de JS Dialog


1
Hé, où téléchargez-vous ça?
Gary

@Gary Links utilise par défaut du texte bleu souligné depuis des décennies. Utilisez votre souris pour survoler le texte bleu de la première ligne de cette réponse et cliquez sur le bouton gauche.
Panier abandonné

les plugins premium n'aident pas un programmeur
Chris Pink

1

vous pouvez utiliser sweetalert.

importer dans votre HTML:

<script src="https://cdn.jsdelivr.net/npm/sweetalert2@8"></script>

et pour déclencher l'alerte:

Swal.fire({
  title: 'Do you want to do this?',
  text: "You won't be able to revert this!",
  type: 'warning',
  showCancelButton: true,
  confirmButtonColor: '#3085d6',
  cancelButtonColor: '#d33',
  confirmButtonText: 'Yes, Do this!',
  cancelButtonText: 'No'
}).then((result) => {
  if (result.value) {
    Swal.fire(
      'Done!',
      'This has been done.',
      'success'
    )
  }
})

pour plus de données, visitez le site Web d'alerte de sweetalert


0

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

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

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

$ .alerts.okButton = "oui"; $ .alerts.cancelButton = "non";

dans la fonction document.ready.

Veuillez essayer que cela fonctionnera.

Merci


-11

la réponse très spécifique à ce point est de confirmer le dialogue Fonction Js:

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

Il affiche une boîte de dialogue avec des boutons d'annulation ok, les remplacer par oui non n'est pas une tâche si simple, pour cela, vous devez écrire la fonction jQuery.


1
Il voulait un oui et non. Cette confirmation donne seulement un ok ou une annulation. C'est pourquoi cela est rejeté.
SpoiledTechie.com
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.