Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Не один из radio-buttons не отмечен. (https://javascript.ru/forum/events/81274-ne-odin-iz-radio-buttons-ne-otmechen.html)

wrbanker 02.11.2020 16:22

Не один из radio-buttons не отмечен.
 
Приветствую.
Есть код:
<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 type="submit" value="Обработать">
</form>
                 
       <script>      
           const form = document.querySelector('#test-form');           
           form.addEventListener('submit', function (event) { 
               event.preventDefault();
              
               let x1 = this.querySelector('[name="radio-button"]:checked').value;               
               console.log('Ваш выбор: ' + x1);              
            });
       </script>


Если на radio есть отметка, то в консоль выводится верное значение. Если же ни на одном radio отметок нет, то "Cannot read property 'value' of null". Подскажите, как отловить отсутствие отметки на radio и, к примеру, вывести в консоль определенное сообщение.
Заранее благодарен.

voraa 02.11.2020 16:26

let x1 = this.querySelector('[name="radio-button"]:checked');
console.log(x1? 'Ваш выбор: ' + x1.value : 'Ничего не выбрано');

wrbanker 02.11.2020 16:40

voraa,
Спасибо. То, что надо.

laimas 02.11.2020 18:06

console.log('Ваш выбор: ' + (this['radio-button'].value || 'ничего') );


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