2014-11-09 4 views
-1

Если я передаю жестко закодированное числовое значение от php до javascript, все работает отлично. Но если я передать числовое значение из переменной, я получаю сообщение об ошибке:Как передать переменную от php до javascript

файла JavaScript (gallery.js)

function goto_anchor(id) 
{ 
    var anchor = $("#anchor_" + id); 

    $('html,body').animate({ 
     scrollTop: anchor.offset().top - 20 
    }, 1200); 
} 

PHP файл

.... 
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js" type="text/javascript"></script> 
<script src="js/gallery.js" type="text/javascript"></script><?php 

$get_cat = 4; 

if (isset($get_cat)) { ?> 
    <script> 
     $(document).ready(function() { 
      goto_anchor(4); // this will work PERFECTLY!!! 
      goto_anchor(<?php echo $get_cat; ?>); // this will NOT work !!! 
     }); 
    </script><?php 
} ?> 

мне нужно передать $ get_cat переменная в моем php, а не закодированное числовое значение. Как ?? Благодаря

+6

Что отображается, когда вы запускаете это? Это должно сработать. – David

+0

Я не прокручиваю якорь, и я получаю ошибку javascript: Uncaught TypeError: Не могу прочитать свойство «верх» неопределенного – Marco

+0

Щелкните правой кнопкой мыши и просмотрите источник, что на самом деле написано на странице? – David

ответ

0

У меня есть такого рода проблемы прежде, не может заполнить

javascriptfunction(<?php echo $phpvirable ?>) 

внутри функции яваскрипта, который вызывает ошибку; Вместо этого, согласно вашему коду, вы можете сначала отбросить его на javascript перед его использованием;

echo '<script> var get_cat = '.$get_cat.'</script>'; 

в РНР

<?php $get_cat = 4; ?> 

, конечно, РНР $ get_cat может быть захвачен из таких как $ _REQUEST [ «кошка»] динамическое значение из подчиненной формы события к этой странице. то u конвертировать его в javascript, который можно использовать в функции.

<?php 
if(isset($getcat)): 
echo '<script> var get_cat = '.$getcat.'</script>'; 
endif; 
?> 
// javascript function read predefined javascript virable that confirm work. 

// u also avoid using mixed php and javascript statements which looks messy 
<script> 
    $(document).ready(function() { 
     goto_anchor(get_cat); // this will work then. 
    }); 
</script> 
Смежные вопросы