1

関数を条件ステートメントで実行するつもりです。ステートメントが true の場合、関数を実行する必要があり、その逆も同様です。

コードは次のとおりです。

$(document).ready(function(){
  $.fn.validateName = function(){
    return true;
  }

  $('input[name=name]').blur(function(){
    var a = $(this).val();
    if (a.length == 0)
    {
       $('#alert_name').fadeIn();
    }
    else 
    {
       $('#alert_name').hide();
       $(this).validateName();
    }     
  })
})

validateName 関数は true 値を返すだけなので、入力値が 0 より大きい場合は true 値を返す必要があります。しかし、私の場合、条件に関係なく、関数は常に実行され、「true」値を返します。

どこに問題があるのか​​教えてください。ありがとうございました。

4

1 に答える 1

2

ぼかし関数から何も返していません。

$(document).ready(function() {
    $.fn.validateName = function() {
        return true;
    }

    $('input[name=name]').blur(function() {
        var a = $(this).val();
        if (a.length === 0) {
            $('#alert_name').fadeIn();
            return false;
        }
        else {
            $('#alert_name').hide();
            return $(this).validateName();
        }
    })
})​
于 2012-05-04T11:26:59.863 に答える