Как я могу включить кнопку подтверждения на входе в сладкое оповещение 2 - PullRequest
0 голосов
/ 05 сентября 2018

Мне нужно отключить кнопку подтверждения, когда пользователь не изменил никакого значения в текстовом поле внутри сладкого оповещения, и включить его только тогда, когда значение в текстовом поле изменилось, но я не могу найти способ за это. вот мой код:

swal({
            title: 'Please Enter Page Name',
            input: 'text',
            inputValue: PageName,
            confirmButtonText: 'Save',
            onOpen: function (){
                swal.disableConfirmButton(); //this disables the button
            }
            preConfirm: function (Name) {
                return new Promise(function (resolve, reject) {
                    resolve();
                })
            },
            allowOutsideClick: false
        })

Я использовал onOpen для запуска метода swal.disableConfirmButton();, но я не знаю, где использовать swal.enableConfirmButton();. есть ли какая-нибудь функция типа onInput или что-то подобное? Если да, как использовать это для достижения желаемого результата?

вот кодекс того, чего я добился до сих пор.

https://codepen.io/zeeshanadilbutt/pen/NLvmZz?editors=0010

1 Ответ

0 голосов
/ 06 сентября 2018

Поскольку onInput или что-то похожее для input: text отсутствует, вы можете использовать getInput внутри onOpen и добавить к нему прослушиватель событий , чтобы включить или отключить button соответственно. .

Проверьте рабочий фрагмент.

swal({
  input: 'text',
  onOpen: function () {
    swal.disableConfirmButton();
    swal.getInput().addEventListener('keyup', function(e) {
      if(e.target.value === '') {
        swal.disableConfirmButton();
      } else {
        swal.enableConfirmButton();
      }
    })
  }
});
  <script src="https://unpkg.com/sweetalert2"></script> 
...