2016-08-25 4 views
-1

왜 이것이 작동하지 않는지에 대한 내 머리를 얻을 수 없다. 또한 window.variable을 시도했으며 var 키워드가 없어도 이해할 수 없다. 글로벌 수준입니다.변수가 전역 화 된 후에도 함수 외부에서 인식되지 않는다 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

'경고'가 실행되면 'window.logVal'은 실제로'정의되지 않음 '입니다. 예상되는 것은 무엇입니까? – k102

+0

x.keyup 대신 $ (x) .keyup을 사용합니다. –

+0

입력 할 때마다 모든 내용이 기록되므로 출력하기를 기대하지만 함수 내부에는 모든 것을 기록하지만 출력하지는 않습니다. – 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> 
관련 문제