2009-08-13 5 views
0

У меня возникла проблема с тем, как назначить переменную java-скрипта переменной smarty. Вот фрагмент кода.Как назначить переменную javascript переменной smarty

function getDateInfo(date, wantsClassName) 
{     
    var as_number = Calendar.dateToInt(date); //This as_number is the variable which should be assigned to smarty variable  
} 

Как это сделать.

любая помощь будет оценена ..

Благодаря п заранее - Феро

ответ

6

Вы не можете назначить на стороне клиента значение для Smarty переменной, как умник это язык шаблонный, который работает на сервер. Назначения Smarty могут выполняться только на стороне сервера, то есть с PHP. Например:

$smarty->assign('timestamp',time()); 

Так что вы можете сделать что-то вроде:

$smarty->assign('timestamp',time()); //in your PHP script 

    //in your JS 
    var currentTS = {$timestamp}; 

См http://www.smarty.net/manual/en/api.assign.php

+0

спасибо за ваш ответ karim. но есть ли другой способ получить значение переменной java script и присвоить его smarty. – Fero

+0

отличный карим, спасибо за ур ответ. У меня есть узел ... – Fero

2

Для чего-либо AJAX с PHP, я бы предложить библиотеку Xajax:

http://www.xajax-project.org/

Используя xajax, вы регистрируете функцию PHP для доступа к JS-коду на стороне клиента. По волшебству, если вы вызываете зарегистрированные функции в JS, xajax упаковывает запрос с параметрами и передает его обратно на сервер.

Кроме того, вы можете нажать больше, чем обновление с вашего PHP-кода в браузер. Что-то вроде «Замените элемент X на ... и замените элемент Y на ...» в одном ответе XHR.

xajax делает код стиля AJAX очень чистым.

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

  • Нет связанных вопросов^_^