2013-05-23 4 views
1

Я ищу способ использования JavaScript для того, чтобы потребовалось определенное соотношение полей в форме, которая будет заполнена. Поэтому, если у меня есть шесть полей, и пользователь должен заполнить любые 2/6 для отправки. Если нет, то они получают ошибку. (У формы на самом деле будет несколько разных групп, подобных этому, поэтому я должен иметь возможность идентифицировать определенные поля для этого коэффициента.)Как использовать JavaScript для требования соотношения заполненных полей в форме

EDIT После нескольких исследований я нашел что-то близкое и понял, что я может подсчитать количество классов. Как я могу изменить это, чтобы сказать, больше ли количество отмеченных ячеек или равно 2, верните TRUE?

document.getElementById("test").onclick = function() { 
    isCountCheck("Check something"); 
}; 

function isCountCheck(helperMsg) { 
    var i, len, inputs = document.form1.getElementsByClassName("checkbox"); 
    for (i = 0, len = inputs.length; i < len; i++) { 
     if (inputs[i].type === "checkbox" && inputs[i].checked) return true; 
    } 
    alert(helperMsg); 
    return false; 
} 

UPDATE Мое окончательное JQuery закончилось, как это.

function isCountCheck(){ 
    if($("input[class=crit1]:checked").length >= 4) 
     return false; 
    alert("Check a box"); 
    return true; 
} 
+0

Можете ли вы опубликовать то, что вы пробовали? Какие элементы находятся в этой форме? –

+0

Спасибо, Дэвид. Наверное, я действительно ищу пример, который я мог бы реализовать. В моем поиске я не нашел ничего близкого к тому, что я собираюсь сделать. Форма представляет собой несколько страниц, а элементы, которые мне нужно учитывать, - это флажки. – Jameson

+0

Я добавил пример, который ближе к тому, что я пытаюсь сделать. Как бы вы могли добавить подтверждение, если входы [i] .checked> = 2) return true? – Jameson

ответ

0

Первое, что приходит на ум: создать функцию, которая подсчитывает заполненные поля и возвращает истину, если число заполненных полей достаточно (ложь в противном случае). Затем добавьте его в форму как функцию «onsubmit». Когда нажата кнопка отправки, функция выполняется и, в зависимости от того, что возвращает функция (true или false), форма отправляется или нет.

Более подробную информацию о JavaScript форма проверки: http://www.w3schools.com/js/js_form_validation.asp

1

Использование JQuery

var numberOfInputsCompleted = 0; 
var allInputs = $(":input"); // returns all input fields on the document 
var numberOfInputs = allInputs.length 
allInputs.each(function() { 
    if($(this).val() != '') { 
    numberOfInputsCompleted = numberOfInputsCompleted + 1; 
    } 

}); 

numberOfInputsCompleted даст поля завершенные и numberOfInputs бы общее количество полей ввода в форме. Надеюсь, это поможет

+0

Спасибо за ответ. У меня есть несколько таких групп отношений, которые мне нужно настроить. Как я могу подсчитать конкретные поля вместо всех полей в форме? Из 100 полей мне нужно, чтобы они нажимали 2 из первых 10, а затем 4 или 10, и т. Д. – Jameson