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 个字符后它不会淡出?

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

4

2 回答 2

4

您将获得匹配元素数组的长度,而不是字段内文本的长度。

改变:

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

至:

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

更新小提琴:http: //jsfiddle.net/bMJqH/4/

另外,请查看有关该属性的 API 。length

于 2011-05-12T12:40:13.577 回答
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);
    }

});
于 2011-05-12T12:59:31.270 回答