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

#javascript #html #asp.net #alert #sweetalert

#javascript #HTML #asp.net #предупреждение #sweetalert

Вопрос:

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

 <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>  

Комментарии:

1. swal не может предотвратить запуск кнопки. В JavaScript нет «ожидания». Поэтому оно не может действовать как windlow.alert()

2. ну, очевидно, вам не хватает функции; что такое swal?

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

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

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

Ответ №1:

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

При появлении предупреждения оно блокирует браузер, поэтому код будет ждать, пока вы не нажмете ok и не отправите форму. Но проблема в том, что при переходе на использование sweet alert вы не можете заблокировать действие браузера. Поэтому вам придется отменить щелчок и отправить форму вручную.

 // 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>  

Комментарии:

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

2. Значит, нет способа показать полное оповещение sweet при отправке?

3. Wowzers…. прочитайте мой ответ. Вы должны отменить нажатие кнопки и вручную отправить форму с помощью обратного вызова sweet alerts.

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

Ответ №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>  

Комментарии:

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

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

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

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