Javascript.RU

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

Помогите разобраться
Скачал код думал будет все просто разберусь, но не вышло помогите разобраться какие данные нужно передать в PHP чтоб обработать данные.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!--

            Либо - делать то, что заслуживает описания; либо - написать то, что заслуживает прочтения.

		                                                                                            Плиний, по Честерфилду
-->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Временно.нет - пример стилизованного файл-инпута</title>
    <style type="text/css">
        .someDiv
        {
            margin-left: 300px;
            margin-top: 30px;
            border: 1px solid Silver;
            height: 300px;
        }
        #File1
        {
            float: left;
        }
        .customFile
        {
            width: 219px;
            margin-left: -225px;
            cursor: default;
            height: 21px;
            z-index: 2;
            filter: alpha(opacity: 0);
            position: relative;
            opacity: 0;
            float: left;
        }
        .fakeButton
        {
            z-index: 1;
            position: relative;
            width: 85px;
            height: 21px;
            background: url(images/button.gif) no-repeat left top;
            float: left;
        }
        .blocker
        {
            position: relative;
            z-index: 3;
            width: 150px;
            height: 21px;
            background: url(images/transparent.gif);
            float: left;
            margin-left: -240px;
           
        }
        .FileName
        {
            float: left;
            height: 15px;
            font-family: Verdana;
            font-size: 8pt;
            color: Gray;
            margin-left: 5px;
            margin-top: 2px;
            padding-top: 1px;
            padding-left: 19px;
            padding-right: 7px;
            
        }
        .minus
        {
            cursor: pointer;
            margin-left: 5px;
            width: 16px;
            height: 16px;
            background: url(images/plusminus.gif) no-repeat left -16px;
            float: left;
            margin-top: 3px;
        }
        .wrapper
        {
            float: left;
            width: 100%;
            display: block;
            margin: 3px;
        }
    </style>

    <script type="text/javascript">
        var inputNumber = 1;

        window.onload = WindowOnLoad;
        
        function HandleChanges(id)
        {
            file = document.getElementById(id).value;
         
            
             reWin = /.*\\(.*)/;
            var fileTitle = file.replace(reWin, "$1"); //выдираем название файла для w*s
            reUnix = /.*\/(.*)/;
            fileTitle = fileTitle.replace(reUnix, "$1"); //выдираем название для *nix
            
            fileName = document.getElementById('name'+id);
            fileName.innerHTML = fileTitle;
            var RegExExt =/.*\.(.*)/;
            var ext = fileTitle.replace(RegExExt, "$1");//и его расширение
            
            var pos;
            if (ext){
                switch (ext.toLowerCase())
                {
                    case 'doc': pos = '0'; break;
                    case 'bmp': pos = '16'; break;                       
                    case 'jpg': pos = '32'; break;
                    case 'jpeg': pos = '32'; break;
                    case 'png': pos = '48'; break;
                    case 'gif': pos = '64'; break;
                    case 'psd': pos = '80'; break;
                    case 'mp3': pos = '96'; break;
                    case 'wav': pos = '96'; break;
                    case 'ogg': pos = '96'; break;
                    case 'avi': pos = '112'; break;
                    case 'wmv': pos = '112'; break;
                    case 'flv': pos = '112'; break;
                    case 'pdf': pos = '128'; break;
                    case 'exe': pos = '144'; break;
                    case 'txt': pos = '160'; break;
                    default: pos = '176'; break;
                };
                fileName.style.display = 'block';
                fileName.style.background = 'url(images/icons.png) no-repeat 0 -'+pos+'px';
              
            };
        };
        
        function WrapEverything()
        {
            inputs = getElementsByClassName('customFileInput');
            for (var i = 0 ; i < inputs.length; i++)
                wrap(inputs[i]);
            
        };
        
        function wrap(element)
        {
            wraper = document.createElement('div');
            wraper.className = 'wrapper';
            fileInput = document.createElement('input');
            fileInput.value = '';
            fileInput.setAttribute('type','file');
            var id = element.getAttribute('id');
            wraper.setAttribute('id','wrapper'+id);
            fileInput.setAttribute('id',id);
            fileInput.className = 'customFile';
            fileInput.onchange = function(){ HandleChanges(id) };
            fileInput.onmouseover = function() { MakeActive(id) };
            fileInput.onmouseout = function() { UnMakeActive(id) };
            fileName = document.createElement('div');
            fileName.style.display = 'none';
            fileName.style.background = 'url(images/icons.png)';
            fileName.setAttribute('id','name'+id);
            fileName.className = "FileName";
            bb = document.createElement('div');
            bb.setAttribute('id','bb' + id);
            bb.className = 'fakeButton';
            bl = document.createElement('div');
            bl.setAttribute('id','bl' + id);
            bl.className = 'blocker';
            wraper.appendChild(bb);
            wraper.appendChild(bl);
            wraper.appendChild(fileInput);
            wraper.appendChild(fileName);
            x = element.parentNode;
            x.replaceChild(wraper,element);
        };
        function AddInput(container)
        {            
            wraper = document.createElement('div');
            wraper.className = 'wrapper';
            fileInput = document.createElement('input');
            fileInput.value = '';
            fileInput.setAttribute('type','file');
            var id = 'customFileInput'+inputNumber;
            wraper.setAttribute('id','wrapper'+id);
            fileInput.setAttribute('id',id);
            fileInput.className = 'customFile';
            fileInput.onchange = function(){ HandleChanges(id) };
            fileInput.onmouseover = function() { MakeActive(id) };
            fileInput.onmouseout = function() { UnMakeActive(id) };
            fileName = document.createElement('div');
            fileName.style.display = 'none';
            fileName.style.background = 'url(images/icons.png)';
            fileName.setAttribute('id','name'+id);
            fileName.className = "FileName";
            bb = document.createElement('div');
            bb.setAttribute('id','bb' + id);
            bb.className = 'fakeButton';
            bl = document.createElement('div');
            bl.setAttribute('id','bl' + id);
            bl.className = 'blocker';
            deleteButton = document.createElement('div');
            deleteButton.className = 'minus';
            deleteButton.onclick = function() { DeleteCustomInput(id) };
            wraper.appendChild(bb);
            wraper.appendChild(bl);
            wraper.appendChild(fileInput);
            wraper.appendChild(fileName);
            wraper.appendChild(deleteButton);
            container.appendChild(wraper);
            inputNumber++;
        
        };
        
        function DeleteCustomInput(id)
        {
            i = document.getElementById('wrapper'+id);
            i.parentNode.removeChild(i);
        }
        function WindowOnLoad()
        {
            WrapEverything();
        };
        
        
        function MakeActive(id)
        {
            bb = document.getElementById('bb'+id);
            bb.style.backgroundPosition = '0 -21px';
        };
        function UnMakeActive(id)
        {
            bb = document.getElementById('bb'+id);
            bb.style.backgroundPosition = '0 0';
        };
        
        function getElementsByClassName(searchClass) {
	        var classElements = new Array();
	        var els = document.getElementsByTagName('*');
	        var elsLen = els.length;
	        var pattern = new RegExp("(^|\\\\s)"+searchClass+"(\\\\s|$)");
	        for (i = 0, j = 0; i < elsLen; i++) {
		        if ( pattern.test(els[i].className) ) {
			        classElements[j] = els[i];
			        j++;
		        }
	        }
	        return classElements;
        };
        function addCustomFileInput(container)
        {
            w = document.getElementById(container);
            AddInput(w);
        };
    </script>

</head>
<body>

<div id="MyInputs">
            <input id="File1" type="file" class="customFileInput" />
            
</div>
            <a href="javascript:addCustomFileInput('MyInputs')">добавить еще</a>
</body>
</html>

Последний раз редактировалось Gvozd, 24.11.2010 в 01:42. Причина: отформатировал код
Ответить с цитированием
  #2 (permalink)  
Старый 23.11.2010, 16:31
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Здравствуйте!

Судя по вашему сообщению, вы ну совсем не знаете javascript.

Освойте основы языка и вопрос отпадет сам, полностью или частично.
А с чем не справитесь - поможем.

На сайте javascript можно начать изучать с учебника, раздел Основы javascript.
Возможно, вам также понадобится HTML - учебник есть, например, здесь: http://ru.html.net/tutorials/html/

Задавайте конкретные вопросы по ходу дела.
Ответить с цитированием
  #3 (permalink)  
Старый 23.11.2010, 17:18
Новичок на форуме
Отправить личное сообщение для Jazz411 Посмотреть профиль Найти все сообщения от Jazz411
 
Регистрация: 23.11.2010
Сообщений: 6

Да в JS я 0 но просто я ток начал ПХП и как видемо правда нужно подучится
Ответить с цитированием
  #4 (permalink)  
Старый 23.11.2010, 20:10
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

ну дак наверне нестоит два языка одновременно учить...
Ответить с цитированием
  #5 (permalink)  
Старый 23.11.2010, 20:14
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от dmitriymar
наверне нестоит два языка одновременно учить...
Напрасно ты так думаешь...
Ответить с цитированием
  #6 (permalink)  
Старый 23.11.2010, 20:21
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Возможно. да согласен 2 разноплановых можно. но два подобных-когда вместо знаний на зубок в каждом в голове получиться каша из 2х))
Ответить с цитированием
  #7 (permalink)  
Старый 23.11.2010, 20:23
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Сообщение от dmitriymar
ну дак наверне нестоит два языка одновременно учить...
Особенно если это С++ и Visual Basic

Учить PHP+JS+SQL одновременно можно, если до этого был опыт программирования на С++ к примеру.
Ответить с цитированием
  #8 (permalink)  
Старый 23.11.2010, 20:38
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

учить можно -но не одновремено начинать с азов всего), кста а я с точностью до наоборот считаю что с++ и визуал бейсик хорошее сочетание) учил же когдато турбо паскаль третьей версии и ассемблер 86)) и одно другому не мешало.а вот знание турбопаскаля помешало в изучении с++-много было ошибок синт на автомате. и вылавливать их мешал груз прежних знаний-когда смотришь чего компилятор матюкаеться -всё ведь правильно с синтаксиса-но как оказывалось синтактсис был паскаля)))

Последний раз редактировалось dmitriymar, 23.11.2010 в 20:42.
Ответить с цитированием
  #9 (permalink)  
Старый 24.11.2010, 00:36
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Ребят, не оффтопьте.
Для того чтобы обсудить возможность одновременного изучения различных языков, я могу перенести ваши сообщения в отдельную тему.
тут это обсуждение не к месту.
Jazz411,
изучайте планомерно и аккуратно JS.
Это залог помощи на этом форуме.
Если вы не собираетесь изучать, либо у вас не получается самостоятельно освоить азы языка, то это не наши проблемы.
в таких случаях мы можем только предложить оплачиваемую помощь в разделе Работа.
для того чтобы мы вам помогли бесплатно, вам следует приложить усилия по изучению языка, и попробовать САМОСТОЯТЕЛЬНО решить проблему.
Ответить с цитированием
  #10 (permalink)  
Старый 24.11.2010, 01:40
Новичок на форуме
Отправить личное сообщение для Jazz411 Посмотреть профиль Найти все сообщения от Jazz411
 
Регистрация: 23.11.2010
Сообщений: 6

Да я приложил усилия и понял учить ПХП и JS не сложно как тут пишут и различаются они легко если иметь голову и не писать на автомате Gvozd ты немного не прав, если не выходит то нужно приложить больше желания и запастись терпением и все выйдет, вот тогда и увидишь путь к успеху
Цитата:
О как загнул
ладно тут вот какой вопрос из того кода я понял что за имя файла отвечает строка
var id = 'customFileInput'+inputNumber;
и последующий файлы будут
customFileInput1, customFileInput2, customFileInput3, customFileInput4.. и тд
, а первый фал который по умолчанию чему равен
customFileInput0?

Последний раз редактировалось Jazz411, 24.11.2010 в 01:43.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Прелоадер (помогите разобраться) xsfd AJAX и COMET 6 16.09.2010 02:30
Помогите разобраться!!! Greendumb Общие вопросы Javascript 8 19.08.2010 14:04
Помогите пожалуйста разобраться Kupu4 Ваши сайты и скрипты 0 21.01.2010 10:44
Помогите разобраться с галереей IMAGIN yana_studio Общие вопросы Javascript 4 12.12.2009 17:24
Помогите разобраться с задачей (поиск строки) Absinthe Ваши сайты и скрипты 6 07.12.2009 09:17