2009-11-21 2 views
0

Я использую Uploadify для загрузки изображения. Теперь мне нужно получить правильный путь загрузки.Сочетание javascript/jQuery и PHP

У меня есть следующий код/​​скрипт:

<?php 
    $uploadifyPath = get_bloginfo('url') . '/wp-content/plugins/uploadify/'; 
    $galleryPath = "'".getGalleryURL('1620')."'"; // <--- 1620 is inputed by me. 
    ?> 

    <input id="galleryID" type="hidden" value="1620" name="galleryID"/> 
    <input id="fileInput" name="fileInput" type="file" /> 

    <script type="text/javascript">// <![CDATA[ 
    $(document).ready(function() { 
     $('#fileInput').uploadify({ 
      'uploader' : '<?php echo $uploadifyPath ?>uploadify.swf', 
      'script' : '<?php echo $uploadifyPath ?>uploadify.php', 
      'cancelImg' : '<?php echo $uploadifyPath ?>cancel.png', 
      'auto'  : true, 
      'folder' : <?php echo $galleryPath ?> 
     }); 
    }); 
    // ]]></script> 

Как я могу с JQuery, получить значение galleryID и ввести его в мою функцию getGalleryURL()?

Или ... есть лучший способ сделать это?

+0

Когда очередь JQuery сделана на работу, запрос уже вернулся с сервера, и PHP уже выполнил свою работу. Как вы получаете 1620 в входной файл galleryID? – Galen

+0

galleryID получает значение из jQuery, когда я использую Autocomplete в текстовом поле поиска. – Steven

ответ

1

Вы не можете. Вы используете PHP-код на веб-сервере. Затем код HTML/CSS/JS передается в браузер, где выполняется javascript.

Если вам нужна Javascript/PHP-связь, вам нужно будет использовать функциональность jQuerys AJAX.

+0

Обратите внимание, как я использую PHP внутри тегов

1

Сделайте вызов AJAX через jQuery, чтобы PHP мог узнать идентификатор galleryID, а затем использовать его обратный вызов для загрузки uploadify.

0

Полностью решить эту проблему, пришлось разобраться в проекте, над которым я сейчас работаю.

То, что я пришел, было более простым: выделите переменную в HTML перед сценарием, чтобы затем jQuery мог вытащить переменную из атрибута data.

Я еще не протестировал код, но, я думаю, вы могли бы решить это с чем-то похожим. Удачи!

<div class="marker" data-path="<?php echo get_bloginfo('url') . '/wp-content/plugins/uploadify/'; ?>" data-url="<?php echo getGalleryURL('1620'); ?>" style="display:none;"></div> 

<input id="galleryID" type="hidden" value="1620" name="galleryID"/> 
<input id="fileInput" name="fileInput" type="file" /> 


<script type="text/javascript">// <![CDATA[ 
    $(document).ready(function() { 


     var path = $('.marker').data('path'); 
     var url = $('.marker').data('url'); 

     $('#selector').uploadify({ 
      'uploader' : url + '/uploadify.swf', 
      'script' : url + '/uploadify.php', 
      'cancelImg' : url + '/cancel.png', 
      'auto'  : true, 
      'folder' : path 
     }); 
    }); 

    // ]]> 
</script>