Javascript Підтвердження спливаючого вікна Так, немає кнопки замість ОК та Скасувати


113

Javascript Підтвердити спливаюче вікно, я хочу показати Так, немає кнопки замість ОК та Скасувати.

Я використав цей код vbscript:

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

це працює лише в IE, In FF та Chrome, воно не працює.

Чи є якась обробка для досягнення цього в Javascript?

Я також хочу змінити назву спливаючого вікна, як у IE "Windows Internet Explorer", тут я хочу показати своє ім'я програми.


Я створив діалог так, ні, його дуже легко налаштувати: github.com/stein189/YesNoDialog Ви можете спробувати цей, якщо хочете
Szenis

Відповіді:


88

На жаль, не існує підтримки між браузером для відкриття діалогового вікна підтвердження, яке не є параметром ОК / Скасувати за замовчуванням. Надане вами рішення використовує VBScript, який доступний лише в IE.

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


17

Єдиний спосіб зробити це крос-браузерним способом - це використовувати таку структуру, як jQuery UI, і створити спеціальний діалог:

діалог jquery

Це не працює точно так само, як і вбудоване спливаюче вікно підтвердження, але ви повинні мати змогу змусити його робити те, що ви хочете.


4
Для наочності, це не ТІЛЬКИ - ви, звичайно, можете написати свій власний Javascript, не те, що це було б правильно зробити.
ЛеонардЧалліс

1
@LeonardChallis, але краще включати велику бібліотеку лише для модального функціонального функціонування? Я не думаю, що так
nicholaswmin

8

Ви також можете використовувати 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

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



3

Рекомендована (але маленька та проста) бібліотека, яку ви можете використовувати, - це 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


1
Гей, куди ти це завантажиш?
Гері

@Gary Links десятиліттями дефолтом до синього, підкресленого тексту. Наведіть курсор миші на синій текст у першому рядку цієї відповіді та натисніть ліву кнопку.
Покинутий кошик

Преміум-плагіни не допомагають програмісту
Chris Pink

1

ви можете використовувати sweetalert.

імпортуйте у свій HTML:

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

і активувати сповіщення:

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'
    )
  }
})

для отримання додаткових даних відвідайте веб-сайт sweetalert


0

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

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

2) після цього ви можете безпосередньо використовувати код нижче

$ .alerts.okButton = "так"; $ .alerts.cancelButton = "ні";

у функції document.ready.

Спробуйте, це спрацює.

Дякую


-11

дуже специфічна відповідь на питання - це підтвердження діалогу Js Function:

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

У ньому показано діалогове вікно з кнопками скасування ok, щоб замінити ці кнопки на так ні, це не така проста задача, для цього вам потрібно написати функцію jQuery.


1
Він хотів "Так" і "Ні". Це підтвердження дає лише нормальне значення або скасування. Ось чому це проголосується.
SpoiledTechie.com
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.