2012-01-29 1 views
2

JS 양식을 제출 중입니다. 입력란이 비어 있으면 제출을 취소하고 싶습니다.

나는 모든 값을 받고 있어요 : $(reviewForm).serialize() 같은 반환

: 형태의 값이 비어있는 경우

id=2&text=aaaa&rating=2&gender= 

가 어떻게 경고를 표시 할 수 있습니까?

+0

$ (reviewForm)은 jQuery와 유사합니다. 일반 JavaScript 또는 jQuery를 사용하고 있습니까? – j08691

+0

jQuery도 – lisovaccaro

답변

1

var serialized = $ (reviewForm) .serialize();

if(serialized.indexOf('=&') > -1 || serialized.substr(serialized.length - 1) == '='){ 
    //you've got empty values 
} 

jQuery를 사용하여, 당신은 직렬화하기 전에 테스트 할 수

$(reviewForm).find('input').each(function(idx, elem){ 
    if($(elem).val().length == 0){ 
     //this field is empty 
    } 
}); 
1

당신이 이런 일을 할 수있는 양식을 제출하기 전에.

+0

+1입니다. 나는 다른 답변을 읽었 기 때문에 ... 깨끗하고 간단합니다. – gdoron

0

빈 필드를 확인하고 필드 이름의 배열을 반환하며 비어있는 필드 수를 경고합니다. 바이올린 데모를 확인하십시오 : http://jsfiddle.net/brentmn/Pwngn/

$('form').submit(function(){ 
    var s = $(this).serialize(); 
    var empty = $.grep(s.split('&'), function(field){ 
     //get empty fields 
     return field.split('=')[1] === ''; 
    }).map(function(arr){ 
     //return field name of empty field 
     return arr.split('=')[0]; 
    }); 
    alert(empty.length + ' empty fields'); 
    return !empty.length; 
}); 
관련 문제