0

私は次のコードを持っていますが、問題は、phpから取得した値を使用して条件ステートメントを設定しようとすると(getstate)、一致しなくてもifステートメントを通過することです。たとえば、応答が 1 の場合、getstate は 1 ですが、getstate が 2 の場合のコードを実行します。何が問題なのですか?

 var getstate =""; 
    $.get('getstate.php', {
                    email: emailaddress,
                    country: 'DE',
                    lang: lang,
                    source: '1304_Spring_dly'
                }, function (data) {

            getstate = data;

    if ( getstate = "2" ){

        $('#mch-overlay').fadeIn(300);

                } else if ( getstate = "1" ){
                    $('#mch-overlay').fadeIn(300);
                    });

              } else {
                    $('p.error').hide();
                      }

            }); /*end .GET */
4

1 に答える 1

1

条件には==orが必要です。値を設定する===だけ=で、通常は値をトリミングして空白がないようにすることをお勧めします。

$.get('getstate.php', {
           email  : emailaddress,
           country: 'DE',
           lang   : lang,
           source : '1304_Spring_dly'
    }, function (data) {
           var getstate = $.trim( data );
           if ( getstate == "2" ){
               $('#mch-overlay').fadeIn(300);
           } else if ( getstate == "1" ){
               $('#mch-overlay').fadeIn(300);
           } else {
               $('p.error').hide();
           }
});

また、条件文でも同じことを行っていることに注意してください。したがって、おそらく if / else に短縮されている可能性があります。

于 2013-03-22T19:59:06.537 に答える