2011-05-12 3 views
1
<form id="createtableform" method="post" action=""> 
    <p> 
    Masa ismi : 
    <input type="text" name="name" id="tablename" /> 
    </p> 
    <p> 
    <input type="submit" name="submit" id="submit" value="submit" /> 
    </p> 
</form> 
<div id="error"></div> 

$('#tablename').focus(); 
$('#error').fadeOut(500); 
$('#tablename').keyup(function(){ 
var tablename = $('#tablename').length; 

if(tablename <= 3){ 

$('#error').html('Min 3 characters please'); 
$('#error').fadeIn(500); 
} 
if(tablename > 3){ 
$('#error').fadeOut(500); 
} 
}); 

3 문자를 넘기면 왜 사라지지 않습니까?3 문자 길이를 전달하면 오류 메시지가 사라지지 않습니다.

jsfiddle : http://jsfiddle.net/bMJqH/3/

+0

$ ('# tablename에') 때문에 길이 = ID를 – Val

+0

이 (가) 디버깅 도구에 내장 사용하는 방법을 배우게 할 필요 고유 0 또는 1 일부터.. Chrome은 훌륭하고 간편합니다. 시계 요소와 중단 점을 아무 문제없이 추가 할 수 있습니다. 이 질문은 어리 석다. – ppumkin

답변

4

당신은 필드의 내부 대신 텍스트의 길이가 일치하는 요소의 배열의 길이가 있어요.

변경 :

var tablename = $('#tablename').length; 

사람 :

var tablename = $('#tablename').val().length; 

업데이트 바이올린 다음 length 부동산에 관한 또한 http://jsfiddle.net/bMJqH/4/

, have a look at the API.

+0

감사합니다 !!!! 나는 오랫동안 한 번 앉아서 코딩을 해왔다. 더 이상 이런 오류를 볼 수 없다. S – Logan

+0

@Logan : http://en.wikipedia.org/wiki/Brain_fart :)? – Kevin

+0

xD 예 참으로 .. – Logan

0

노력이 :

$('#tablename').keyup(function(){ 

    var tablename = $('#tablename').val().length; 

    if(tablename <= 3){ 
     $('#error').html('Min 3 characters please'); 
     $('#error').fadeIn(500); 
    } else { 
     $('#error').fadeOut(500); 
    } 

}); 
+0

@Logan Kevin은 100 % 맞습니다. 몇 줄을 최소화하는 코드를 게시합니다. – thecodeparadox