2013-11-23 2 views
0

У меня есть функция php, которая при вызове должна выплюнуть функцию javascript, чтобы показывать постоянно обновляемое время, т. Е. 12:14:51. Моя php-функция вызывается, и я вижу, что javascript и связанный с ним div отправляются в html (инструмент разработчика), но часы не отображаются. Почему?Функция времени javascript, отраженная в функции php?

Код:

<?php function add_time() { 

     print '<script type="text/javascript">' . 
      'window.onload = function startTime() 
       { 
       var today=new Date(); 
       var h=today.getHours(); 
       var m=today.getMinutes(); 
       var s=today.getSeconds(); 
       // add a zero in front of numbers<10 
       m=checkTime(m); 
       s=checkTime(s); 
       document.getElementById(\'txt\').innerHTML=h+":"+m+":"+s; 
       t=setTimeout(function(){startTime()},500); 
       } 

       function checkTime(i) 
       { 
       if (i<10) 
        { 
        i="0" + i; 
        } 
       return i; 
       }' . 
     '</script>'; 



    } // end show content/date 
+0

Вы используете каркас или CMS? Если да, и если функция вызывается за пределами шаблона, она может попасть в [буферизация вывода на PHP] (http://us1.php.net/ob_start), вы можете попробовать добавить строку 'while (ob_get_level ()) {ob_end_clean(); } 'до конца, чтобы проверить это – StigM

+0

Это wordpress. –

ответ

0

Вам нужно вызвать функцию startTime() где-то, возможно, на странице загрузки.

Смежные вопросы