2011-09-19 5 views
0

채워지지 않은 항목을 확인하는 양식 유효성 검증을 시도하고 있습니다. 내 양식에는 입력, 텍스트 영역 및 선택이 있습니다. 입력 유효성 검사를 할 수 있었지만 작동하도록 텍스트 영역을 가져올 수 없습니다 (아직 선택을 시도하지 않았습니다.). 여기 내 코드는 다음과 같습니다.jquery가 텍스트 영역의 빈 값을 참조하는 중

$(document).ready(function(){ 
$('input[type=submit]').click(function() 
{ 
    if(($(":text:not(:disabled)[value='']").length !== 0) || $(textarea).html == '') 
    { 
     //$('#message').parents('p').addClass('warning'); 
     var happy = "happy"; 
     document.getElementById("message").innerHTML = "All entries must be completed"; 
     //var cool = document.getElementById(id).attributes.getNamedItem("value").nodeValue; 
     alert('All Entries Must Be Completed'); 
     return false; 
    } 
    else 
    { 
     alert ('mess up'); 
     return false; 
    } 

});          

});

select에도 어떻게 적용 할 수 있습니까? 또한,이 첫 번째 부분은 다른 stackoverflow 게시물에 대한 도움말에서 작업 할 수있었습니다.하지만 그 이유는 확실하지 않습니다. if가 0이 아닌 경우 if 문을 사용하는 이유는 무엇입니까 (! ==)? 그것이 0 일 때 나는 그것을하고 있어야하지 않습니까?

답변

0

텍스트 상자와 텍스트 영역의 경우 공백 값을 확인하려면 .val()$.trim을 사용해야합니다. 이 버전보다 1.6 사용 .attr을 jQuery를 사용하는 경우, 예를 들어 들어,

if($.trim($("#textboxid").val()) == "") { 
    //do something 
} 

선택를 들어, 다른 사용 .prop()은 선택 입력의 선택 인덱스를 얻을 수 있습니다. jQuery를> = 1.6

if($("#selectid").prop("selectedIndex") <= 0) { 
    //do something 
} 
+0

완벽한

jQuery를 < 1.6

if($("#selectid").attr("selectedIndex") <= 0) { //do something } 

에 대해서는 예를 들어! 고마워. 하지만 네가 왜 필요한지 나에게 설명해 줄 수 있니? – Joseph

+0

'trim'은 전달 된 값 앞이나 뒤에 공백을 제거하는 데 사용됩니다. 이것은 공백 값을 검사 할 때 중요합니다. 왜냐하면 사용자가 값을 입력하지 않고 단순히 공백 (스페이스 바)을 누르고 '$ ("# textboxid") 만 확인하면 val() == ""', 귀하의 유효성을 능가 할 것입니다. '$ .trim'은 값을 계산하기 전에 빈 공간이 제거되었는지 확인합니다. 당신이 나의 요점을 이해하기를 바랍니다. –

관련 문제