2014-09-29 2 views
1

지도와 함께 입력을 초기화하려고 해요. api autocomplete - 입력 수가 데이터베이스에서 비롯되지만 while 루프에서 간단한 javascript 함수를 실행할 수 없습니다. 동안 자바 스크립트 onload

initialazing

window.onload으로 잘 작동하지만 콘솔에 나타나는

오류가 1 개 결과가 데이터베이스에서 나지 않는 ...이 while 루프의 기능을 실행할 수 없습니다.

<script type="text/javascript"> 
    function initializeLimitCity() { 
    alert("Hello World"); 
    }; 
</script> 

<? 
$limit = $bdd->prepare('MySQL query'); 
$limit->execute(); 

while ($city = $limit->fetch()) { 
    echo 'result'; ?> 

    <script type="text/javascript"> 
    initializeLimitCity(); 
    </script> 

<?php 
} 
?> 
+0

왜''섹션에 넣고 window.onload에서 실행하십시오. – tfrascaroli

답변

2

이 당신의 코드를 변경 ... 같은 기능 번 이상 선언 캔트 .

이렇게하면 생성되지 않습니다. 클라이언트 (자바 스크립트) (HTML)를 전송하기 위해 적은 바이트의 결과로, 일을하자 :

<?php 
$cities = $limit->fetch_all(); 
?> 

<script type="text/javascript"> 
    function initializeLimitCity(cities) { 
     alert(cities); 
    }; 
    initializeLimitCity(<?php echo json_encode($cities); ?>); 
</script> 
1
는 는
+0

이것이 작동하는지 확인 하시겠습니까? 왜냐하면 그건 나와 관계가 없기 때문에 ... – gr3g

1
당신은 동일한 이름을 여러 번과 기능을 생성하는

, 그것은 작동하지 않습니다

<script type="text/javascript"> 
       function initializeLimitCity() { 
         alert("Hello World"); 
       }; 

     </script> 
<?php 
$limit = $bdd->prepare('MySQL query'); 
$limit->execute(); 

while ($city = $limit->fetch()) { 
     echo 'result'; ?> 

     <script type="text/javascript"> 
       initializeLimitCity(); 
     </script> 

<?php 
} 
:

$limit = $bdd->prepare('MySQL query'); 
$limit->execute(); 

while ($city = $limit->fetch()) { 
     echo 'result'; ?> 

     <script type="text/javascript"> 
       function initializeLimitCity() { 
         alert("Hello World"); 
       }; 
       initializeLimitCity(); 
     </script> 

<?php 
} 
관련 문제