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 に答える