Проблемы с window.onload, помогите пожалуйста разобраться
Fullajax Support - AJAX + AHAH
Февраля 07, 2012, 04:00:46 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
   Начало   Помощь Поиск Войти Регистрация  
Страниц: [1]
  Печать  
Автор Тема: Проблемы с window.onload, помогите пожалуйста разобраться  (Прочитано 859 раз)
Clint
Новичок
*

Авторитет: 0
Сообщений: 10


Просмотр профиля
« : Августа 16, 2010, 18:48:58 »

Когда страница загружается, замена инпута выполняется. Если я перехожу по другой ссылке, то инпут  не работает.  Вопрос первый: первоначально страницы в папке order у меня не имели ни <html> ни <body> просто <form> и содержимое (тоесть как php include), прописал в них тоже скрипт замены инпута, аналогично не работает. Вопрос в следущем: когда страница подключается на ajax из другой папки то url ко всем файлами должен быть как из главной страницы, или как из папки order?   Вопрос второй: можно ли оформлять подключаемые страницы методом как в php include?  Как я говорил раньше при переходе на другую страницу инпут не работает, при возврате на главную тоже. Но если перейти на другую страницу, и потом нажать обновить то все заработает. И так на каждой ссылке. Тоесть что бы работало нужно перейти и нажать "обновить".  Вопрос третий: как решить эту проблему? Убедительная просьба дать развернутый ответ Улыбающийся

<!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" dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>ФОРМА</title>
<link rel="stylesheet" type="text/css" href="style.css" />
<script src="js/fullajax.js" type="text/javascript"></script>      
<script type="text/javascript">

(function($){
  var ax = 'ax=1';
  $.onReady(function(){
   
      var as = id('featured').getElementsByTagName('a'), curSel = as[0];
      curSel.href = "#";
      curSel.onclick = function(){}
     
      $.Html.on('flax', 'load', function(ops){
          curSel.className = curSel.className.replaceAll('selected', '').replaceAll('  ', ' ');
          curSel = as[0];
          for (var i = 0, l = as.length; i < l; i++){         
              if ($.delHost(as.href).indexOf(ops.url.replace('&'+ax,'')) > -1){
                  curSel = as;     
                  break;
              }
          }
          curSel.className += ' selected';
      })
     
      $.Html.on('flax', 'beforerequest', function(ops){
          var hist = ops.thread.history, current = hist.storage[hist.current];
          return current ? current[0].replace('&'+ax,'') != ops.url : true;
      })
  })
 

  $.directLink();
})(FLAX)
</script>


</head>
<body>
      <div id="featured">
        <ul class="ui-tabs-nav">
           <li class="ui-tabs-nav-item ui-tabs-selected"><b><a href="#">Создание веб-сайта</a></b></li>
           <li class="ui-tabs-nav-item" id="nav-fragment-2"><b><a href="order/order_interface.html" ax:id="fragment-1">Создание интерфейса</a></b></li>
           <li class="ui-tabs-nav-item" id="nav-fragment-3"><b><a href="order/order_firstyle.html" ax:id="fragment-1">Создание фирстиля</a></b></li>
           <li class="ui-tabs-nav-item" id="nav-fragment-4"><b><a href="order/order_script.html" ax:id="fragment-1">Создание скриптов</a></b></li>
            <li class="ui-tabs-nav-item last" id="nav-fragment-5"><b><a href="order/order_graphic.html" ax:id="fragment-1">Создание графики</a></b></li>         
         </ul>

<!-- ######################### WEBSITES ######################### -->
      
      <div id="fragment-1" class="ui-tabs-panel">
        <form name="websites" method="post">   

   <p><input name="markupcms" id="markupcms" type="checkbox" checked="checked" /><label for="markupcms"><b>Верстка под CMS</b></label></p>
           <p><input name="markuphtmlcss" id="markuphtmlcss" type="checkbox" checked="checked" /><label for="markuphtmlcss"><b>Верстка HTML + CSS</b></label></p>
           <p><input name="createdesign" id="createdesign" type="checkbox" checked="checked" /><label for="createdesign"><b>Разработка дизайна</b></label></p>
           <p><input name="createbanner" id="createbanner" type="checkbox" /><label for="createbanner"><b>Разработка баннера</b></label></p>   
           <p><input name="siteadministrate" id="siteadministrate" type="checkbox" /><label for="siteadministrate"><b>Модерирование сайта</b></label></p>   
           <p><input name="searchindex" id="searchindex" type="checkbox" /><label for="searchindex"><b>Поисковая индексация</b></label></p>            
             <label for="contactname1" class="field">Контактное лицо:</label>
            <input id="contactname1" type="text"  />
   
            <label for="email1" class="field">Электронная почта:</label>
            <input id="email1" type="text" />
       
             <label class="field">Дополнительный материал:</label>
              <div class="div_file" class="pos_relative brb">   
                 <input class="file_input" type="file" size="26"/>
              </div>

   
        </form>
    </div>
      
   
<script type="text/javascript">

      var fileInput = document.getElementsByClassName('file_input');   
      
        function InputFileFake()
        {
          var divFile = document.getElementsByClassName('div_file');
         for(i=0; i<divFile.length; i++)
         {   
            var fileButton = document.createElement('div');            
            var fakeFile = document.createElement('div');
            var fileType = document.createElement('div');   
            fileInput.setAttribute('onchange','HandleChanges('+i+');');            
         fileType.style.display = 'none';   
            fileType.style.background = 'url(images/form/file_type_icons.png)';            
            fileType.className = 'file_type';         
            fileButton.className = 'file_button';
            fakeFile.className = 'fake_button';         
         divFile.appendChild(fileButton);
         divFile.appendChild(fakeFile);
            divFile.appendChild(fileType);
         }
      

       
           
        };
        function HandleChanges(a)
        {
          fileType = document.getElementsByClassName('file_type');
            file = fileInput[a].value;
            reWin = /.*\\(.*)/;
            var fileTitle = file.replace(reWin, "$1"); //выдираем название файла
            reUnix = /.*\/(.*)/;
            fileTitle = fileTitle.replace(reUnix, "$1"); //выдираем название файла
            fileType[a].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;
                };
                fileType[a].style.display = 'block';
                fileType[a].style.background = 'url(images/form/file_type_icons.png) no-repeat 0 -'+pos+'px';
            };
         
      };

window.onload = InputFileFake;


</script>
</body>
</html>
Записан
Ruslan
Administrator
*****

Авторитет: 29
Сообщений: 1 130



Просмотр профиля
« Ответ #1 : Августа 16, 2010, 18:51:46 »

а можно оформить online пример? чтобы открыл в браузере и сразу видно было где проблема.
Записан
Clint
Новичок
*

Авторитет: 0
Сообщений: 10


Просмотр профиля
« Ответ #2 : Августа 16, 2010, 19:00:42 »

К сожалению все выполняется на рабочем столе Грустный  Онлайн пример показать немогу
Записан
Ruslan
Administrator
*****

Авторитет: 29
Сообщений: 1 130



Просмотр профиля
« Ответ #3 : Августа 16, 2010, 19:03:14 »

а в чем трудность с организацией онлайн? есть проблема в хостинге?  можете использовать http://ide.hivext.ru, создайте себе там приложение и разверните там МИНИМАЛЬНЫЙ пример, т.е. оставьте  только то что не работает.

кстати в добавок правила форума http://forum.fullajax.ru/pravila-foruma/
Записан
Ruslan
Administrator
*****

Авторитет: 29
Сообщений: 1 130



Просмотр профиля
« Ответ #4 : Августа 17, 2010, 08:29:51 »

Относительно первого вопроса про url - лучше всего использовать абсолютные пути, тогда они будут во всех случаях одинаковы. Если нет возможности использовать абсолютные, и есть проблемы с релятивными можно использовать атрибут ax:rc="1" или в фильтре параметр  rc=1 (rc - rellative correction). Он корректирует относительные пути в соответствии с текущим местоположением.


По второму вопросу можно попробовать реализовать как тут http://fullajax.ru/examples/#:{include}

А вот с инпутами без рабочего примера не обойтись.
Записан
Страниц: [1]
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006-2008, Simple Machines LLC | Sitemap Valid XHTML 1.0! Valid CSS!