Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Остановка выполнения скрипта (https://javascript.ru/forum/events/81343-ostanovka-vypolneniya-skripta.html)

wrbanker 12.11.2020 12:10

Остановка выполнения скрипта
 
Приветствую.
Есть код:

<form id="test-form">     
        <input type="radio" name="radio-button" value="Радио номер 1"> Радио 1
        <input type="radio" name="radio-button" value="Радио номер 2"> Радио 2
        <input type="radio" name="radio-button" value="Радио номер 3"> Радио 3
        <input class="i-sum" type="number" name="sum" id="sum">Сумма
        <input class="i-date" type="date" name="date" id="date">Дата 
        
        <input type="submit" value="Обработать">
   </form>
                 
       <script>      
           const form = document.querySelector('#test-form');           
           form.addEventListener('submit', function (event) { 
               event.preventDefault();

               let r1 = this.querySelector('[name="radio-button"]:checked');
               if (r1) {
                   r1 = r1.value
               } else {
                   alert ('Выберите радио');
                   // Остановка выполнения скрипта
               };
               let s1 = this["sum"].value;
               if (s1==0) {
                   alert ('Введите сумму');
                   // Остановка выполнения скрипта
               };
               let d1 = this["date"].value;
               if (d1==0) {
                   alert ('Введите дату');
                   // Остановка выполнения скрипта
               };  
               
               console.log (r1, s1, d1);
            });
       </script>


Задача: вывести в консоль значения переменных r1, s1, d1 только в том случае, если все поля формы заполнены. Если хотя бы одно поле не заполнено, то выводится alert и выполнение скрипта останавливается.

voraa 12.11.2020 16:33

Есть такой оператор - return

wrbanker 12.11.2020 17:37

Цитата:

Сообщение от voraa (Сообщение 530691)
Есть такой оператор - return

Видимо, не хватает элементарных знаний. Оператор return использую исключительно в функциях. Как его использовать в разветвлениях - совсем не в курсе...

рони 12.11.2020 18:10

Цитата:

Сообщение от wrbanker
return;// Остановка выполнения скрипта

:-? добавить в строки 21, 26, 31

wrbanker 12.11.2020 18:48

Цитата:

Сообщение от рони (Сообщение 530705)
:-? добавить в строки 21, 26, 31

Да, всё очень просто и всё работает. То ли я не теми источниками пользуюсь, то ли знания какие-то засекреченные и приходят с опытом...
Спасибо!


Часовой пояс GMT +3, время: 05:30.