2014-09-29 4 views
1

Я пытаюсь инициализировать входы с картами api autocomplete - количество входов поступает из базы данных, но я не могу выполнить простую функцию javascript в цикле while.javascript onload in while

initialazing работает отлично с window.onload, но я не могу выполнить функцию в это время цикла ...

Никакие ошибки, возникающие в консоли, 1 результат не приходит из базы данных.

$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 
} 
+0

Почему вы бросали много '' ' и выполните из окна window.onload. – tfrascaroli

ответ

2

Вы не можете объявить же функцию несколько раз ... Измените код следующим образом:

<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 
} 
?> 
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 
} 
+0

Вы уверены, что это работает? Потому что это не со мной ... – gr3g

1

Вы генерируете функцию с несколько раз же имя, он не будет работать ,

Я бы не создал его таким образом. Пусть клиент (Javascript) делает работу, в результате чего меньше байт для передачи (HTML):

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

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