Обязательный переключатель отмечен в форме не работает

Я занимался этим более часа и искал ответ здесь, в Интернете, но не могу заставить его работать, поэтому сейчас я прошу помощи, пожалуйста.

У меня есть форма, где все поля обязательны для заполнения, в том числе кнопка "Радио" для выбора, группа переключателей под названием "инструмент".

Любая помощь приветствуется.

Вот мой Javascript:

<script type="text/javascript">

    function checkFields(f) {
        name1 = document.form1.name1.value;
        name2 = document.form1.name2.value;
        email1 = document.form1.email1.value;
        instrument = document.form1.instrument.value;
        stylemusic = document.form1.stylemusic.value;

        if ((name1 == "") || (name2 == "") || (email1 == "") || (instrument == "") || (stylemusic == "")) {
            alert("All fields need to be filled.");
            return false;
        }
}

и мой код формы:

<input type="radio" value="percussion" name="instrument">Percussion
<input type="radio" value="wind" name="instrument">Wind

2 ответа

Решение

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

if((document.form1.instrument[0].checked==false)&&(document.form1.instrument[1].checked==false))

{
alert('You must make a choice');
return false
}

Примечание. Добавьте еще один экземпляр [2], [3] и т. Д., Чтобы обеспечить возможность выбора большего количества переключателей.

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

Это выполняет две вещи:

  • Обязательные группы проверены
  • Нет необходимости в проверке JavaScript

Конечно, я предполагаю, что вы используете группы, переключатели не имеют смысла индивидуально, их нужно сгруппировать.

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