2013-08-15 1 views
-5

어떻게 내가 PHP 변수 위의 코드를 php.Yet없이 완벽하게 작동할당 PHP는 변수가 변수 자바 스크립트

$(function(){ 
    $("select[name=myselectlist]").change(function(){ 
     var id = $(this).val(); 
     if(id != 0) {  
      $.post("ajax.php", {"id":id}, function(){ 
       var data = "somedatahere"; 
       document.getElementById("namesurname").value = data; 
      }); 
     } 
    }); 
}); 

를 사용하여 자바 스크립트 변수의 값을 할당 할 수있는, 내가 mysql을 매번에서 "VAR 데이터"를 할당해야합니다. 당신의 PHP var에이 기능이있는 파일의 범위에있는 경우

+0

가능한 중복을 다음과 같이 자바 스크립트 코드 블록을 다시 작성할 수 있도록 PHP에서 json_encode 기능 AJAX 응답에 당신의 결과를 전달합니다 [자바 스크립트 변수에 PHP 문자열 전달 (및 개행 문자 이스케이프)] (http://stackoverflow.com/questions/168214/pass-a-php-string-to-a-javascript-variable-and-escape-newlines))와 gazillion 다른 사람. – deceze

+1

는 [그들이 매뉴얼을 만드는 시간/일 동안 왜 궁금해?] (http://php.net/json-encode) 당신이 JQuery와 –

+0

: PHP는 VAR 나던 여기에 속하는 경우에도 당신은 세션 변수를 비슷하게 할당 할 수있다. –

답변

6

, 당신은 이런 식으로 작업을 수행 할 수 있습니다

var data = "<php echo $myvar; ?>"; 
+0

주에 $ 아약스를 사용할 수 목적 –

+0

idk 왜 그런 식으로 사용할지는 나에게 의미가있다; document.getElementById ("namesurname"). value = ; namesurname ID가있는 텍스트 필드의 값이 변경되지 않습니다. –

+0

php var을 따옴표로 묶어보십시오. $ data [ 'name']이 유효한지 교차 검사를하지 않은 경우 –

1

이 자바 스크립트 코드는 PHP 파일에있는 경우, 당신은 간단하게 사용할 수 있습니다 코드 업데이트로 PHP 변수 : -

<?php 
// assign a value 
$data = 'your data here'; 
?> 

$(function(){ 
    $("select[name=myselectlist]").change(function(){ 
     var id = $(this).val(); 
     if(id != 0) {  
      $.post("ajax.php", {"id":id}, function(){ 
       var data = "somedatahere"; 
       document.getElementById("namesurname").value = "<?php echo $data;?>"; 
      }); 
     } 
    }); 
}); 
2

1) Shadowfax 쓴하지만 더 간단하게 당신은 할 수 있습니다 :

var data = '<?=$dbResult?>'; 

2) 더 정확하게 기입하십시오.

... 
$.post("ajax.php", {"id":id}, function(response){ 
    $("#namesurname").val(response.data); 
}); 

예를 들어 백엔드에 PHP 코드 블록은 다음과 같이 보일 수 있습니다 :

.... 
if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) AND strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) === 'xmlhttprequest')) { 
    echo json_encode(array('data' => $dbResult)); 
}