Javascript подтверждает всплывающее окно да, нет кнопки вместо OK и отмена

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

я использовал этот код vbscript:

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

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

есть ли какой-либо workround для достижения этого в Javascript?

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

8 ответов


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

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


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

Диалог jquery

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


вы также можете использовать 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>

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


рекомендуемая (но небольшая и простая) библиотека, которую вы можете использовать, - JSDialog:js.plus / продукция / 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 demo screenshot


посмотреть http://bootboxjs.com/

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

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

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

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

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

$.тревоги.okButton = "да"; $.тревоги.cancelButton = "no";

в документе.готовая функция.

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

спасибо


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

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

он показывает диалоговое окно с кнопками OK cancel, заменить эти кнопки на yes no не так просто, для этого вам нужно написать функцию jQuery.