2016-08-25 4 views
-1

なぜこれが動作しないのか私の頭を浮かべることはできません。私もwindow.variableを試してみました。グローバルレベルにあります。変数がグローバル化された後でも関数の外部で認識されないJavaScript

私はwindow.alertが動作することを期待していますが、それは未定義であるとも言います私はこのキーワードを使用していた可能性が高いと考えていました。キーを押してもまだ定義されていません。

$(document).ready(function() { 

    flag = false; 

    var x = $('.inpbox'); 
    x.keyup(function() { 
    logVal = this.value + 'helloooo'; 
    console.log(logVal); 
    }); 
    window.alert(logVal); 

    $.ajax({ 
    type: "POST", 
    url: 'searchbar.php', 
    data: { 
     val: 'logVal' 
    }, 
    dataType: 'json', 
    }); 


    $('#abcd').click(function() { 

    setInterval(function() { 
     via_ajax(); 
    }, 1000); 

    function via_ajax() { 
     flag = true; 
     if (flag == true) {}; 
     $.ajax({ 
     type: "POST", 
     url: 'searchbar.php', 
     data: { 
      val: 'logVal' 
     }, 
     dataType: 'json', 
     }); 
    }; 
    }); 

}); 
+0

'alert'が実行されたとき、' window.logVal'は本当に 'undefined'です。期待されるものは何ですか? – k102

+0

x.keyup –

+0

の代わりに$(x).keyupを使用すると、すべての情報がログに記録されるので、出力すると期待しています。 – Jake

答えて

0

あなたはこのようなものに変更します。

<script> 
$(document).ready(function(){ 

    $("input").keyup(function(){ 
     logVal = this.value + 'helloooo'; 
     ajax_Val(); 
    }); 


}); 

function ajax_Val() 
{ 
$.ajax({ 
    type: "POST", 
    url: 'searchbar.php', 
    data: { 
     val: logVal 
    }, 
    dataType: 'json', 
    }); 
} 

</script> 
関連する問題