Javascript Всплывающее окно подтверждения «Да», «Нет» вместо кнопок «ОК» и «Отмена»
-
05-07-2019 - |
Вопрос
Всплывающее окно подтверждения Javascript, я хочу отображать кнопки «Да», «Нет» вместо «ОК» и «Отмена».
Я использовал этот код 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», я хочу показать здесь свое собственное имя приложения.
Решение
К сожалению, отсутствует кросс-браузерная поддержка для открытия диалогового окна подтверждения, которое не является парой OK / Cancel по умолчанию. Предоставленное вами решение использует VBScript, который доступен только в IE.
Я бы предложил использовать библиотеку Javascript, которая может вместо этого создавать диалоги на основе DOM. Попробуйте пользовательский интерфейс Jquery: http://jqueryui.com/
Другие советы
Единственный способ сделать это кросс-браузерным способом — использовать такую структуру, как jQuery UI, и создать собственный диалог:
Оно не работает точно так же, как встроенное всплывающее окно подтверждения, но вы сможете заставить его делать то, что хотите.
Вы также можете использовать 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>
Вы не можете сделать этот кросс-браузер с функцией verify () или подобным. Я настоятельно рекомендую вам использовать что-то вроде диалогового окна jQuery UI , чтобы создать вместо этого диалоговое окно HTML. р>
Рекомендуемая (но небольшая и простая) библиотека, которую вы можете использовать: 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"
);
Просмотрите 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) после этого вы можете напрямую использовать код ниже
$.alerts.okButton = "да";$.alerts.cancelButton = "нет";
в функции document.ready.
Пожалуйста, попробуйте, получится.
Спасибо
очень конкретный ответ на этот вопрос - подтвердить диалог Функция Js:
confirm('Do you really want to do so');
Он показывает диалоговое окно с кнопками ОК, чтобы отменить, заменить эти кнопки на «да нет» не так просто, для этого вам нужно написать функцию jQuery.