Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.09.2014, 11:23
Интересующийся
Отправить личное сообщение для landerorly Посмотреть профиль Найти все сообщения от landerorly
 
Регистрация: 05.05.2014
Сообщений: 23

помогите допилить форму отправки фото на сайт
Здравствуйте, помогите с формой загрузки файла. Пробую сделать магазин на joomla и virtuemart. Появилась необходимость сделать загрузку файла в модуле товара virtuemart, нашел похожий урок на просторах нета "Загрузка файлов на сервер без перезагрузки страницы". Сделал как там описано, но дело доходит только до этапа "Идет загрузка файла" и на этом все стоит. Что я делаю не так?

код страницы:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html prefix="og: http://ogp.me/ns#" xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru-ru" lang="ru-ru" dir="ltr">
    <head>
       <base href="http://localhost/lambite/index.php/zakaz/shag-2/shag-3-pechat-ooo" />
      <meta http-equiv="content-type" content="text/html; charset=utf-8" />
      <meta name="title" content="Печать ООО" />
      <meta name="description" content="Выберите пожалуйста наиболее подходящий для Вас
    образец оттиска.   " />
      <meta name="generator" content="Joomla! - Open Source Content Management" />
      <title>Печать ООО</title>
      <link href="/lambite/index.php/zakaz/shag-2/shag-3-pechat-ooo" rel="canonical" />
      <link rel="stylesheet" href="/lambite/components/com_k2/css/k2.css" type="text/css" />
      <link rel="stylesheet" href="/lambite/components/com_virtuemart/assets/css/vmsite-ltr.css" type="text/css" />
      <link rel="stylesheet" href="/lambite/media/system/css/modal.css" type="text/css" />
      <link rel="stylesheet" href="http://localhost/lambite/libraries/cegcore/assets/bootstrap/css/bootstrap.css" type="text/css" />
      <link rel="stylesheet" href="http://localhost/lambite/libraries/cegcore/assets/bootstrap/css/bootstrap-theme.css" type="text/css" />
      <link rel="stylesheet" href="http://localhost/lambite/libraries/cegcore/assets/bootstrap/css/bootstrap-gcore.css" type="text/css" />
      <link rel="stylesheet" href="http://localhost/lambite/libraries/cegcore/assets/font_awesome/css/font-awesome.css" type="text/css" />
      <link rel="stylesheet" href="http://localhost/lambite/libraries/cegcore/assets/gplugins/gtooltip/gtooltip.css" type="text/css" />
      <link rel="stylesheet" href="http://localhost/lambite/libraries/cegcore/assets/gplugins/gvalidation/gvalidation.css" type="text/css" />
      <script src="/lambite/media/system/js/mootools-core.js" type="text/javascript"></script>
      <script src="/lambite/media/system/js/core.js" type="text/javascript"></script>
      <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js" type="text/javascript"></script>
      <script src="/lambite/components/com_k2/js/k2.js?v2.6.8&amp;sitepath=/lambite/" type="text/javascript"></script>
      <script src="/lambite/components/com_virtuemart/assets/js/jquery.min.js" type="text/javascript"></script>
      <script src="/lambite/components/com_virtuemart/assets/js/jquery.noconflict.js" type="text/javascript"></script>
      <script src="/lambite/components/com_virtuemart/assets/js/vmsite.js" type="text/javascript"></script>
      <script src="/lambite/components/com_virtuemart/assets/js/vmprices.js" type="text/javascript"></script>
      <script src="/lambite/media/system/js/modal.js" type="text/javascript"></script>
      <script type="text/javascript">
    //<![CDATA[
    vmSiteurl = 'http://localhost/lambite/' ;
    vmLang = "";

    //]]>

          window.addEvent('domready', function() {

             SqueezeBox.initialize({});
             SqueezeBox.assign($$('a.modal'), {
                parse: 'rel'
             });
          });

    jQuery(document).ready(function () {
       jQuery('.orderlistcontainer').hover(
          function() { jQuery(this).find('.orderlist').stop().show()},
          function() { jQuery(this).find('.orderlist').stop().hide()}
       )
    });

      </script>

     <link rel="stylesheet" href="/lambite/templates/system/css/system.css" type="text/css" />
     <link rel="stylesheet" href="/lambite/templates/system/css/general.css" type="text/css" />
     <link rel="stylesheet" type="text/css" href="/lambite/templates/shoptmpl/css/template.css" media="screen" />
     <!--[if IE 6]><link rel="stylesheet" href="/lambite/templates/shoptmpl/css/template.ie6.css" type="text/css" media="screen" /><![endif]-->
     <!--[if IE 7]><link rel="stylesheet" href="/lambite/templates/shoptmpl/css/template.ie7.css" type="text/css" media="screen" /><![endif]-->
     <script type="text/javascript">if ('undefined' != typeof jQuery) document._artxJQueryBackup = jQuery;</script>
     <script type="text/javascript" src="/lambite/templates/shoptmpl/jquery.js"></script>
     <script type="text/javascript">jQuery.noConflict();</script>
     <script type="text/javascript" src="/lambite/templates/shoptmpl/script.js"></script>
     <script type="text/javascript">if (document._artxJQueryBackup) jQuery = document._artxJQueryBackup;</script>
       <script type="text/javascript" src="/lambite/templates/shoptmpl/script/main.js"></script>
     <script>
    jQuery(document).ready(function ($) {
    screenshotPreview();

     window.onload = function () {
      document.querySelector("input.quantity-plus-js").click();
    }

    jQuery( init );

    function init() {
      //var divdiv = document.getElementById("ddd");
      //var trtr = document.getElementById("sku01");
     // ���������� �������� �� #myDiv1 � #myDiv2

      jQuery('#osnas1').append( jQuery('.sku01'));
      jQuery('#osnas2').append( jQuery('.sku02'));
      jQuery('#osnas3').append( jQuery('.sku03'));
    }

    });
    </script>
    </head>
    <body>......
    ......<div class="art-nostyle vm_prod_upload">
    <h3>Шаг 3 (печать ООО)</h3>
    <div class="vmgroup vm_prod_upload">

       
          <ul class="vmproduct vm_prod_upload productdetails">
                      <li class=" width20 floatleft">
                <a href="/lambite/index.php/zakaz/shag-2/shag-3-pechat-ooo/образец-1/оснастка/оттиск-30х30мм-detail" title="Оттиск 30х30мм"><img src="http://localhost/lambite/components/com_virtuemart/assets/images/vmgeneral/noimage.gif" alt="Не настроено изображение " id="vm_display_image" /></a><div class="clear"></div>            <a href="/lambite/index.php/zakaz/shag-2/shag-3-pechat-ooo/образец-1/оснастка/оттиск-30х30мм-detail">Оттиск 30х30мм</a>        <div class="clear"></div>

     <script type="text/javascript">

            function hideBtn(){
                jQuery('#upload').hide();
                jQuery('#res').html("Идет загрузка файла");
            }

            function handleResponse(mes) {
                jQuery('#upload').show();
                if (mes.errors != null) {
                    jQuery('#res').html("Возникли ошибки во время загрузки файла: " + mes.errors);
                }
                else {
                    jQuery('#res').html("Файл " + mes.name + " загружен");
                }
            }
        </script>

        <form action="upload.php" method="post" target="hiddenframe" enctype="multipart/form-data" onsubmit="hideBtn();">
       <input type="file" id="userfile" name="userfile" />
       <input type="submit" name="upload" id="upload" value="Загрузить" />
       </form>
       <div id="res"></div>
       <iframe id="hiddenframe" name="hiddenframe" style="width:0px; height:0px; border:0px"></iframe>

    <div class="product-price"><div class="PricesalesPrice" style="display : block;" ><span class="PricesalesPrice" >450 р.</span></div></div>         <div class="addtocart-area">

                <form method="post" class="product" action="index.php">
                   
                   <div class="addtocart-bar">

                                        <!-- <label for="quantity69" class="quantity_box">Кол-во: </label> -->
             <span class="quantity-box">
             <input type="text" class="quantity-input" name="quantity[]" value="1"/>
             </span>
             <span class="quantity-controls">
                   <input type="button" class="quantity-controls quantity-plus"  />
                   <input type="button" class="quantity-controls quantity-minus" />

             </span>


                                                          <span class="addtocart-button">
                         <input type="submit" name="addtocart" class="addtocart-button" value="Добавить в корзину" title="Добавить в корзину" />         </span>

                      <div class="clear"></div>
                   </div>

                   <input type="hidden" class="pname" value="Оттиск 30х30мм"/>
                   <input type="hidden" name="option" value="com_virtuemart"/>
                   <input type="hidden" name="view" value="cart"/>
                   <noscript><input type="hidden" name="task" value="add"/></noscript>
                   <input type="hidden" name="virtuemart_product_id[]" value="69"/>
                   <input type="hidden" name="virtuemart_category_id[]" value="39"/>
                </form>
                <div class="clear"></div>
             </div>
                      </li>
                   </ul>
          <div class="clear"></div>

          </div></div>.....
Ответить с цитированием
  #2 (permalink)  
Старый 26.09.2014, 11:24
Интересующийся
Отправить личное сообщение для landerorly Посмотреть профиль Найти все сообщения от landerorly
 
Регистрация: 05.05.2014
Сообщений: 23

upload.php создал в каталоге с default.php модуля virtuemart.

код upload.php:

<?php
    if(isset($_POST['upload'])){
       
        $whitelist = array(".gif", ".jpeg", ".png");
        $data = array();
        $error = true;

       
        foreach  ($whitelist as  $item) {
            if(preg_match("/$item\$/i",$_FILES['userfile']['name'])) $error = false;
        }

       
        if(!$error) {

            $folder =  'test/';

            $uploadedFile =  $folder.basename($_FILES['userfile']['name']);

            if(is_uploaded_file($_FILES['userfile']['tmp_name'])){

                if(move_uploaded_file($_FILES['userfile']['tmp_name'],$uploadedFile)){

                    $data = $_FILES['userfile'];
                }
                else {
                    $data['errors'] = "Во время загрузки файла произошла ошибка";
                }
            }
            else {
                $data['errors'] = "Файл не  загружен";
            }
        }
        else{

            $data['errors'] = 'Вы загружаете запрещенный тип файла';
        }


       
        $res = '<script type="text/javascript">';
        $res .= "var data = new Object;";
        foreach($data as $key => $value){
            $res .= 'data.'.$key.' = "'.$value.'";';
        }
        $res .= 'window.parent.handleResponse(data);';
        $res .= "</script>";

        echo $res;

    }
    else{
        die("ERROR");
    }

    ?>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите создать форму заказа (тому кто поможет подкину денег) kotunov jQuery 2 22.02.2013 12:37
Помогите! Как из файла html вывести фото на главную antoxave Элементы интерфейса 14 05.11.2012 22:36
Пожалуйста, помогите создать Web-страницу, содержащую заданную форму Mikhail Работа 1 14.05.2009 00:41