Проверка Javascript для флажков с многократным выбором - PullRequest
1 голос
/ 03 апреля 2019

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

<script>

function mFunction () {
  if (!!this.form.checkbox.checked) {
    alert('not checked');
    return false;
  }
};
</script>

JS выше

<body>

<form>
  <input type="checkbox" name="choice1" value="choice1" id="confirm">choice 1<br>
  <input type="checkbox" name="choice2" value="choice2" >choice 2<br>
  <input type="checkbox" name="choice3" value="choice3">choice 3<br><br>
  <input type="submit" value="Submit" onclick="mFunction()"> 
</form>

Мне нужно оповещение, если ничего не выбрано, и оповещение, если что-то выбрано.

Ответы [ 3 ]

1 голос
/ 03 апреля 2019

Вы можете напрямую проверить отмеченные позиции, как показано ниже.

   function mFunction () {
    let matches = document.querySelectorAll('input[type=checkbox]:checked');
    if (matches.length < 1) {
        alert('not checked');
        return false;
    }
   };
1 голос
/ 03 апреля 2019

Вы можете проверить это по

[...document.querySelectorAll("input[type='checkbox']")].some(i=>i.checked)

function mFunction (e) 
{  
  if(![...document.querySelectorAll("input[type='checkbox']")].some(i=>i.checked))
  {
     alert('not checked');
     e.preventDefault();
  }
};

function checkForm(t,e) { 
  e.preventDefault();
  console.log('checked'); 
};
<form onsubmit="checkForm(this,event);">
  <input type="checkbox" name="choice1" value="choice1" id="confirm">choice 1<br>
  <input type="checkbox" name="choice2" value="choice2" >choice 2<br>
  <input type="checkbox" name="choice3" value="choice3">choice 3<br><br>
  <input type="submit" value="Submit" onclick="mFunction(event)"> 
</form>
0 голосов
/ 03 апреля 2019

Если это обычный javascript, вы можете попробовать добавить прослушиватель событий, когда установлен флажок.

Поддерживать массив в слушателе. Если что-то выбрано, сохраните флажок выбора или логическое отслеживание выбора.

 var checkbox = document.querySelector("input[name=checkbox]");

checkbox.addEventListener( 'change', function() {
 if(this.checked) {
    // Checkbox is checked..
 } else {
    // Checkbox is not checked..
 }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...