У меня проблема проверки флажка multi, я хочу проверить, выбрал ли пользователь хотя бы один флажок. Im попробовать с document.getElementByClassName, но не работаетПроверка флажка с javascript
HTML:
<form id="formupload" method="post" enctype="multipart/form-data" action="upload.php" name="formupload">
<input onKeydown="javascript:validateForm();" id="txtFileName" name="txtFileName" />
<input onKeydown="javascript:validateForm();" id="title" name="title" />
<input onKeydown="javascript:validateForm();" id="keywords" name="keywords" />
<input onKeydown="javascript:validateForm();" id="description" name="description" />
<span class="niche">
<input type="checkbox" value="1" name="channel[]" class="css-checkbox" id="box_1">
<label class="css-label" name="lbl_1" for="box_1">Amateur</label>
</span>
<span class="niche">
<input type="checkbox" value="2" name="channel[]" class="css-checkbox" id="box_2">
<label class="css-label" name="lbl_2" for="box_2">Amateur</label>
</span>
<span class="niche">
<input type="checkbox" value="3" name="channel[]" class="css-checkbox" id="box_3">
<label class="css-label" name="lbl_3" for="box_3">Amateur</label>
</span>
<button id="btnSubmit" class="btn lbtn upBtn" type="submit">Upload</button>
</form>
И вот JavaScript:
function validateForm() {
var txtFileName = document.getElementById("txtFileName");
var titleTxt = document.getElementById("title");
var tagsTxt = document.getElementById("keywords");
var descTxt = document.getElementById("description");
var isValid = true;
if (txtFileName.value === "" || titleTxt.value === "" || tagsTxt.value === "" || descTxt.value === "") {
isValid = false;
}
document.getElementById("btnSubmit").disabled = !isValid;
}
Где вы даже попытки определить состояние флажков? В приведенном JavaScript-коде рассматриваются только некоторые «нетипизированные» элементы 'input' (которые, как я полагаю, по умолчанию имеют текстовые поля?), Но не смотрят на флажки вообще. (К примеру, недопустимы. Знаки 'input' для флажков должны быть закрыты.) – David
Вы можете попробовать' if (document.getElementById ("formupload"). QuerySelectorAll ('input [name = "channel [ ] "]: checked '). length> 0) {}' – Ian
Элементы ввода @David не нужно закрывать, так как они могут не содержать никакого содержимого. Фактически, спецификация запрещает закрывающий тег. –