Javascript Подтвердите всплывающее окно Да, нет кнопки вместо OK и Отмена - PullRequest
107 голосов
/ 05 мая 2009

Javascript Подтвердите всплывающее окно, я хочу показать кнопки Да, Нет вместо OK и Отмена.

Я использовал этот код VBScript:

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

это работает только в IE, в FF и Chrome не работает.

Есть ли какое-нибудь решение для достижения этой цели в Javascript?

Я также хочу изменить заголовок всплывающего окна, как в IE отображается «Windows Internet Explorer», я хочу показать здесь собственное имя приложения.

Ответы [ 8 ]

87 голосов
/ 05 мая 2009

К сожалению, отсутствует кросс-браузерная поддержка для открытия диалогового окна подтверждения, которое не является парой OK / Cancel по умолчанию. Предоставленное вами решение использует VBScript, который доступен только в IE.

Я бы предложил использовать библиотеку Javascript, которая может вместо этого создавать диалоги на основе DOM. Попробуйте пользовательский интерфейс Jquery: http://jqueryui.com/

17 голосов
/ 05 мая 2009

Единственный способ сделать это кросс-браузерным способом - это использовать такую ​​среду, как пользовательский интерфейс jQuery, и создать собственный диалог:

JQuery Dialog

Он не работает точно так же, как встроенное всплывающее окно подтверждения, но вы должны иметь возможность заставить его делать то, что вы хотите.

7 голосов
/ 12 декабря 2011

Вы также можете использовать http://projectshadowlight.org/jquery-easy-confirm-dialog/. Это очень просто и удобно в использовании. Просто включите общую библиотеку jquery и только еще один файл:

<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>
4 голосов
/ 18 октября 2015

Рекомендуемая (но небольшая и простая) библиотека, которую вы можете использовать: JSDialog: js.plus / products / jsdialog

Вот пример для создания диалога с кнопками Да и Нет:

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

4 голосов
/ 05 мая 2009

Вы не можете сделать этот кросс-браузер с функцией подтверждения () или подобным. Я настоятельно рекомендую вам использовать что-то вроде диалогового окна jQuery UI для создания диалогового окна HTML.

3 голосов
/ 21 ноября 2014

Посмотрите на http://bootboxjs.com/

Очень прост в использовании:

 bootbox.confirm("Are you sure?", function(result) {
  Example.show("Confirm result: "+result);
});
0 голосов
/ 09 апреля 2015

1) Вы можете скачать и загрузить ниже файлы на вашем сайте

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

2) после этого вы можете напрямую использовать код ниже

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

в функции document.ready.

Пожалуйста, попробуйте это будет работать.

Спасибо

0 голосов
/ 30 декабря 2013

очень конкретный ответ на вопрос - подтвердить диалог Функция Js:

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

В нем отображается диалоговое окно с кнопками «ОК» для отмены, заменить эти кнопки на «да нет» не так просто, для этого нужно написать функцию jQuery.

...