此功能捕获提交页面时第一个空元素的ID。
挑战在于它总是触发我的第一个元素,即使它有一个值。当人们在表单元素中输入一个值时,我希望跳过这些元素。
我做错了什么?
$('#submit').click(function() {
$('.analytics:first').each(function() {
var getid = $(this).attr('id');
if ($(this).val() == '' || ($(this).not(':selected')) || ($(this).not(':checked'))) {
alert(getid);
}
});
return false;
});
答案 0 :(得分:2)
更改您的Javascript函数以检查类型和值,并遍历该类中的所有元素。
http://jsfiddle.net/meq27wse/95/
$('#submit').live('click',function(){
$('.analytics').each(function(){
var getid = $(this).attr('id');
if($(this).is('input') && $(this).val()=='')
{
alert(getid + $(this).val());
return false;
}
else if($(this).is('select') && $(this).val()==="")
{
alert(getid);
return false;
}
else if($(this).is(':checkbox') && !$(this).checked)
{
alert(getid);
return false;
}
else
{
//all OK
}
/* if($(this).val() == '' || ($(this).not(':selected')) || ($(this).not(':checked'))) {
alert(getid);
}*/
});
});