我有一个简单的表单,几乎没有不同的输入类型。基本上我正在检查text,textarea,datetime-local是否有一些值,并检查了所有radiobuttons。那是我正在使用的代码
$("#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>
此代码检查所有字段,但无线电按钮检查无效。
答案 0 :(得分:1)
你可以检查这样的无线电输入(不需要foreach循环):
if(!$('.reshenie_radio').is(':checked')) alarm = 1;
答案 1 :(得分:0)
您的问题是您没有在:checked
is('checked')
选择器
还可以使用:checked
选择器和length
if(!$('.reshenie_radio:checked').length){
alarm = 1;
}
您也可以使用filter()
var $emptyInputs = $('input[type="text"], textarea, input[type="datetime-local"]').filter(){
return !this.value;
});
if($emptyInputs.length){
alarm = 1;
}
答案 2 :(得分:0)
请勿在此代码中添加.each()
广播输入
通过你的代码,
您可以像这样进行输入检查,
的 https://jsfiddle.net/saifudazzlings/wa3n19hw/3/ 强>
只需删除.each()
并添加
if(!$('input[type="radio"]').is(":checked"))
{
alarm = 1;
}