Я делаю контрольный список, который должен быть заполнен каждый раз, когда сотрудник заполняет эту конкретную форму. Пожалуйста, обратите внимание, что я по-прежнему не могу понять JS из-за отсутствия большого количества времени для исследования.Проверка Javascript обоих флажков и кнопок радиосвязи
Я провел несколько исследований и объединил несколько различных стилей проверки и придумал это;
function validate(form) {
var e = form.elements;
if(e['reloaded'].value == "yes") {
if(!e['Q1-A'].value) {
alert('You Must complete the Checklist!');
return false;
}
if(!e['Q1-B'].value) {
alert('You Must complete the Checklist!');
return false;
}
if(!e['Q1-C'].value) {
alert('You Must complete the Checklist!');
return false;
}
if(!e['Q1-D'].value) {
alert('You Must complete the Checklist!');
return false;
}
if(!e['Q1-E'].value) {
alert('You Must complete the Checklist!');
return false;
}
if(!e['Q1-G'].value) {
alert('You Must complete the Checklist!');
return false;
}
if(!e['Gen-A'].value) {
alert('You Must complete the Checklist!');
return false;
}
if(!e['Gen-B'].value) {
alert('You Must complete the Checklist!');
return false;
}
if(!e['invoice_number'].value) {
alert('Invoice Number is REQUIRED!');
return false;
}
return true;
} else if(e['reloaded'].value == "no") {
if(!e['Gen-A'].value) {
alert('You Must complete the Checklist!');
return false;
}
if(!e['Gen-B'].value) {
alert('You Must complete the Checklist!');
return false;
}
if(!e['Q2-A'].value) {
alert('You Must complete the Checklist!');
return false;
}
if(!e['invoice_number'].value) {
alert('Invoice Number is REQUIRED!');
return false;
}
return true;
} else if(!e['reloaded'].value) {
alert('You must indicate if you Reloaded the OS!');
return false;
}
}
На этом этапе он просто возвращается «Вы должны указать, перезагрузили ли вы ОС!» даже если он выбран.
Задача состоит в том, чтобы выбрать вариант из выбора радиобарабана, после чего он отобразит некоторые флажки, и все флажки должны быть проверены перед отправкой формы. Очевидно, что некоторые флажки показывают только, если выбран конкретный параметр, и поэтому некоторые из них должны быть исключены из необходимости. Существует также дополнительное поле, которое необходимо заполнить (invoice_number), которое всегда имело проверку на нем и всегда работало.
радио Кнопки:
<input name="reloaded" id="reloaded" type="radio" value="yes" onClick="Q1(this.value);" /> Yes</label> <label><input name="reloaded" id="reloaded" type="radio" value="no" onClick="Q1(this.value);" />
Флажки все же, за исключением идентификаторов/имен
<input name="Q1-A" id="Q1-A" type="checkbox" value="yes" />
Обязательный Text Box:
<input class="field size5" type="text" name="invoice_number" id="invoice_number" placeholder="Required! - 'RA' for Warranty Jobs" />
Я уверен, что у меня есть из-за моего недостатка знаний, но я просто не могу придумать, где я ошибся.
(Представление происходит через onsubmit="return validate(this);"
)
показать полный HTML – sunysen
Я обновляется, чтобы показать вход HTML, функция Q1 просто показывает и скрывает дивы с флажками в них. – Tarquin
Можете ли вы использовать jQuery? –