Почему это оповещение не работает при использовании javascript?

Я работаю над ASP.NET, и в представлении у меня есть такой код. Если я использую сладкое оповещение вне функции, оно работает, и если я изменяю сладкое оповещение на обычное оповещение, оно тоже работает, но это не так. t работает как код ниже. (у меня тоже скрипт с библиотекой на вьюшке)

<input type = "submit" value = "Create" class = "btn btn-default" onclick = "return foo();" />

<script type = "text/javascript">      
       function foo() {
       swal("Good job!", "You clicked the button!", "success")
       return true;
    }
</script>

swal не может предотвратить запуск кнопки. Это не «ожидание» в JavaScript. Так что он не может действовать как windlow.alert()

epascarello 04.03.2019 04:09

ну, очевидно, вам не хватает функции; что такое свал?

Milan Rilex Ristic 04.03.2019 04:10

@MilanRilexRistic — это широко используемая библиотека, которая создает диалог. Это последний тег.

epascarello 04.03.2019 04:10

@epascarello, так как я могу запустить Swal в тип ввода

Luis Fernando Badel Méndez 04.03.2019 04:11

хорошо, вы забыли включить библиотеку js и css

Milan Rilex Ristic 04.03.2019 04:13

Код работает нормально, я отредактировал фрагмент, см.

Maheer Ali 04.03.2019 04:13

@MaheerAli, редактирование рассматриваемого кода, чтобы заставить его работать, противоречит цели вопроса и сбивает с толку будущих посетителей.

Heriberto Lugo 04.03.2019 04:19

@HeribertoLugo Это не имеет НИЧЕГО СВЯЗИ с не включенными сценариями. lol ОП имеет это в своем коде, и он работает .... Дело в том, что он находится в форме, и форма отправляется .... Так что откат назад был неправильным при редактировании ....

epascarello 04.03.2019 04:26

@epascarello включения не было в первоначально опубликованном коде. я не видел, где он заявил, что его проблема была почтой. он просто сказал "это не работает", и необходимые библиотеки не были включены. поэтому и не получилось..

Heriberto Lugo 04.03.2019 04:28

@epascarello, но я определенно понимаю, откуда ты. я проголосовал за вас, но до сих пор не ясно, была ли это его проблема или он забыл включить библиотеки. он сам сказал, что «все это работает».., комментируя решение, которое только что включила библиотека. новая проблема в том, что они работают слишком быстро, лол

Heriberto Lugo 04.03.2019 04:30

OP отредактировал, чтобы добавить его, и кто-то удалил его. Мой самый первый комментарий видел проблему без кода библиотеки. Полагаю, никто не читал его, пока я начал отвечать.

epascarello 04.03.2019 04:33

нет .. человек, который добавил его, удалил его из-за комментария, который я сделал .. но, перечитав его вопрос 10 раз, я думаю, вы правы, предполагая, что его пост не работает. ваше решение должно быть помечено как ответ. хорошая работа!

Heriberto Lugo 04.03.2019 04:34
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
12
403
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

хорошо, вы забыли включить библиотеку js и css

    <link rel = "stylesheet" href = "https://cdnjs.cloudflare.com/ajax/libs/sweetalert/1.1.3/sweetalert.min.css">
    <script src = "https://cdnjs.cloudflare.com/ajax/libs/sweetalert/1.1.3/sweetalert.min.js"></script>
    
    
    


<input type = "submit" value = "Create" class = "btn btn-default" onclick = "return foo();" />

<script type = "text/javascript">      
       function foo() {
       swal("Good job!", "You clicked the button!", "success")
       return true;
    }
</script>

Это работает, но очень быстро. Это способ исправить это?

Luis Fernando Badel Méndez 04.03.2019 04:14

Если вы щелкнете всю страницу после запуска фрагмента, вы заметите, что он работает так, как ожидалось.

ChaosPandion 04.03.2019 04:14

НЕТ, он отправит форму! Это неправильно. лол .... Проблема не в том, что OP не включал код библиотеки ....

epascarello 04.03.2019 04:17

Как за неправильный ответ проголосовали 3 раза.... LOL Кнопка отправки в форме отправляет. Страница будет отправлена, поэтому сообщения там не будет....

epascarello 04.03.2019 04:22
Ответ принят как подходящий

Когда вы нажимаете кнопку отправки, он отправляет форму.

С предупреждением он блокирует браузер, поэтому код будет ждать, пока вы не нажмете «ОК», а затем не отправите форму. Но проблема, когда вы переходите на использование сладкого оповещения, вы не можете заблокировать действие браузера. Поэтому вам придется отменить клик и отправить форму вручную.

// called onclick of the submit button
function foo() {
  swal("foo")
    .then(function() {
      // manually submit the form
      document.getElementById("yourFormId").submit()
    });
  return false; // cancel the button click
}
<script src = "https://unpkg.com/sweetalert/dist/sweetalert.min.js"></script>

<form id = "yourFormId">

  <input type = "submit" value = "Create" class = "btn btn-default" onclick = "return foo();" />

</form>

Этот ответ и другой работают нормально, но сладкое предупреждение появляется очень быстро

Luis Fernando Badel Méndez 04.03.2019 04:18

Значит, нет способа показать полное сладкое предупреждение в отправке?

Luis Fernando Badel Méndez 04.03.2019 04:20

Wowzers .... прочитайте мой ответ. Вы должны отменить нажатие кнопки и вручную отправить форму, используя обратный вызов приятных предупреждений.

epascarello 04.03.2019 04:20

Я отредактировал свой ответ с рабочим примером с отправкой формы после нажатия кнопки swal. Здесь показано, как отменить нажатие кнопки отправки и отправить форму, когда вы будете готовы. Если вы планируете сделать это «вы уверены», вам нужно использовать переданное значение, чтобы либо отправить, либо отменить его.

epascarello 04.03.2019 04:34

Другие вопросы по теме