私は、いくつかの異なる入力タイプを持つ単純なフォームを持っています。基本的には、テキスト、テキストエリア、datetime-localにいくつかの値があり、すべてのラジオボタンがチェックされているかどうかをチェックしています。それは、私がこのコードは、罰金、すべてのフィールドをチェックしラジオボタンがチェックされていないかどうかを確認するjQuery
$("#submit_button").click(function() {
var alarm = 0;
$('input[type="text"]').each(function() {
if ($(this).val() == "") alarm = 1;
})
$('textarea').each(function() {
if ($(this).val() == "") alarm = 1;
})
$('input[type="datetime-local"]').each(function() {
if ($(this).val() == "") alarm = 1;
})
$('input[type="radio"]').each(function() {
if (!$(this).is("checked")) alarm = 1;
})
if (alarm == 1) {
$("#failure").show(200);
$("#failure").fadeOut(1500);
} else {
$("#success").show(200);
$("#success").fadeOut(1500);
}
});
#success,
#failure {
display: none;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<label class="reshenie_radio"><input type="radio" class="reshenie_radio" name="reshenie" value="Пройден">1</label>
<label class="reshenie_radio"><input type="radio" class="reshenie_radio" name="reshenie" value="Не пройден">2</label>
<label class="reshenie_radio"><input type="radio" class="reshenie_radio" name="reshenie" value="Продлен">3</label>
<textarea rows="10" cols="100" name="recommendations" value=""></textarea>
<label style="text-align: center;"><input type="datetime-local" >Date</label>
<label><input type="text" class="avg_score" name="avg_score" width="30" height="50" value="">avg.score</label>
<section id="success">
<p>Thanks! Everything is ok!</p>
</section>
<section id="failure">
<p>Please fill all the fields!</p>
</section>
<section id="submit">
<input type="submit" name="submit" id="submit_button" value="send!">
</section>
使用しているコードだが、ラジオボタンが機能していません確認してください。
あなたの例を追加あなたのラジオボタンをループしていると、アラートの最終値は、最後のラジオボタンの状態によって決定されている – Luca
かかわらず動作するようです。また、すべてのラジオボタンをチェックすることはできません。 – j08691
'$(this).is(":checked ")'ではないでしょうか? – NullDev