У нас есть вопросник с вопросами типа MCQ, который генерируется динамически с использованием лезвий в laravel. Я хочу проверить ответ на каждый вопрос с помощью переключателей. Я не хочу, чтобы форма была отправлена, если пользователь оставляет один из вопросов.
Я написал следующий код, но проблема с этим кодом заключается в том, что пользователь оставляет все вопросы за исключением последнего, который я имею в виду, когда он отвечает только на последний вопрос, который отправляется в форме. Помните, я не хочу, чтобы форма была отправлена, если хотя бы один вопрос остался без ответа.
<form action="/result" method="POST" id="form1">
@csrf
@php
$count=0
@endphp
@foreach ($questions[$sections->id] as $question)
<div class="ans" align="center">
<div class="opt">
<div class="row1">
<label class="label">{{ $question->question }}</label>
</div>
<div class="ans">
@php
$answer=$answers[$question->id]
@endphp
@foreach ($answer as $answer)
<label class="btn btn-default no-margin-rule" >
<input type="radio" name="{{$count+1}}" value="{{$answer->id}}" id="ans{{$answer->answer}}" />
<span class="option{{$answer->answer+1}}"></span>
</label>
@endforeach
</div>
</div>
</div>
@endforeach
</form>
<div style="overflow: auto;">
<div style="height:50px;">
<div id="submitText" class="alert alert-danger" style="display:none">
<strong>Can't Submit!</strong> Please select all options first, then click on submit.
</div>
</div>
<button id="sub" class="btn-self-submit float-right">Submit</button>
</div>
$("#sub").click(function(){
var check = true;
$("input:radio").each(function(){
var name= $(this).attr('name');
if($("input:radio[name="+name+"]:checked").length){
check = true;
}
else{
check=false;
}
});
if(check){
$("#form1").submit();
}
else{
swal("Oops!", "Please select at least one answer in each question.", "error")
}
});