Проверка формы с помощью радио-кнопки - PullRequest
1 голос
/ 09 ноября 2010

ОБНОВЛЕНИЕ:

 rules: {
                    firstname: "asdfsadf",
                    lastname: "123123",
                    city: "required",
                    state: "required",
                    country: "required" ,
                    question_1: "required" 


                },
                messages: {
                    firstname: "Please enter your firstname",
                    lastname: "Please enter your lastname", 
                    city: "Please enter a valid email address",
                    country: "Please accept our policy",
                    question_1: "SELECT at least one question."
                }

    <div class="question"> 
        Q1: What is the second letter of the alphabet? 
        <div class="choices"> 
            <input type="radio" name="question_1" value="1" /> A 
            <input type="radio" name="question_1" value="2" /> B 
            <input type="radio" name="question_1" value="3" /> C 
        </div> 
    </div> 
    <div class="question"> 
        Q2: Which out of these is a berry? 
        <div class="choices"> 
            <input type="radio" name="question_2" value="1" /> Apples 
            <input type="radio" name="question_2" value="2" /> Bananas 
            <input type="radio" name="question_2" value="3" /> Carrots 
        </div> 
    </div> 

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

Ответы [ 3 ]

1 голос
/ 09 ноября 2010

Есть несколько способов сделать это.

if ($('input:radio:checked').length)
{
 at least one is checked
}
else
{
 none are checked
}

Конечно, вы захотите выбрать по имени (на случай, если у вас есть несколько наборов переключателей)

if ($('input[name="yourNameHere"]:checked').length)
0 голосов
/ 10 ноября 2010

Вот как я могу решить эту проблему: надеюсь, это поможет другим.

<script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script>
<script src="Scripts/jquery.validate.min.js" type="text/javascript"></script>

<div class="question">  
        Q1: What is the second letter of the alphabet?  
        <div class="choices">  
            <input type="radio" name="question_1" value="1" class="required" /> A  
            <input type="radio" name="question_1" value="2" /> B  
            <input type="radio" name="question_1" value="3" /> C  
            <label for="question" class="error">Please select your at leat one question</label>
        </div>  
    </div>   
0 голосов
/ 09 ноября 2010

В вашем объекте "rules" вы должны просто сделать:

gender: "required"

В качестве альтернативы у вас, кажется, есть пользовательский атрибут:

validate="required:true"

... на вашем "мужском" радио. Вы должны иметь возможность добавить это к обоим входам с именем = "пол", и это также должно работать. См. Демонстрацию радио / флажков .

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...