Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Как мне сделать это? [5]
Форумы портала PHP.SU » Клиентская разработка » JavaScript & VBScript » Как мне сделать это?

Страниц (8): « 1 2 3 4 [5] 6 7 8 »
 

61. kasphaus - 21 Апреля, 2012 - 21:37:01 - перейти к сообщению
ну это я примерно понимаю, но как разграничить чтобы асинхронную загрузку файла обрабатывал uploadFile.php, а сама форма отправлялась на add.php?
62. DlTA - 21 Апреля, 2012 - 21:42:56 - перейти к сообщению
если домен подразумевается один и тот же, то распарсить фрейм для получения ответа от сервера, и вставить в соответствующиее скрытое поле формы
63. tuareg - 21 Апреля, 2012 - 21:53:40 - перейти к сообщению
Так минуточку. У нас какое-то недопонимание ... Улыбка
Итак.
шаг 1. Пользователь выбрал файл (нажал на кнопку открыть) файл пошел загружаться и загрузился.(отработал uploadFile.php)
шаг 2. Пользователь нажал на <input type="submit" /> Форма ушла к файлу add.php
Если так то делайте как я писал выше.

А если не так, то по событию submit, сначала отправляйте файл на сохранение, а после получения отправляйте форму на сохранение.(результат первого запроса вставляйте в скрытое поле) Пример $.Deferred() в jQuery. Реализацию на чистом js(др фреймворке посмотрите сами)
64. kasphaus - 21 Апреля, 2012 - 22:14:01 - перейти к сообщению
tuareg пишет:
Так минуточку. У нас какое-то недопонимание ... Улыбка
Итак.
шаг 1. Пользователь выбрал файл (нажал на кнопку открыть) файл пошел загружаться и загрузился.(отработал uploadFile.php)
шаг 2. Пользователь нажал на <input type="submit" /> Форма ушла к файлу add.php
Если так то делайте как я писал выше.


Все верно) Но как файл отправить на uploadFile.php, если action у формы = add.php ? Менять action формы в зависимости от действий пользователя? Типа если сработал .change у file input, то ставим action = uploadFile.php и сабмитим форму? А если произошел клик по <input type="submit" /> то отправляем форму на add.php?
65. tuareg - 21 Апреля, 2012 - 22:18:37 - перейти к сообщению
Да конечно. По onchange, меняйте атрибут, а после получения ответа, снова его выставляйте.
66. DlTA - 21 Апреля, 2012 - 23:29:04 - перейти к сообщению
а может забить на построение велосипеда и заюзать jQuery[dot]post
67. tuareg - 21 Апреля, 2012 - 23:31:04 - перейти к сообщению
DlTA пишет:
DlTA
$.post по-моему, не может отправить файл.
68. DlTA - 21 Апреля, 2012 - 23:31:41 - перейти к сообщению
tuareg пишет:
$.post по-моему, не может отправить файл
та вот тоже чет не найду
69. tuareg - 21 Апреля, 2012 - 23:35:05 - перейти к сообщению
Нет, не получится. Смотри есть плагин jsForm. Так вот если смотреть его исходники, то там тоже iframe. Да и потом, тут задача другая. По onchange файл загрузить, а по submit отправить форму. Если приделывать плагин или т.п то получится, что по onchange будут отправляться и все другие input, а это я так понимаю не надо
70. DlTA - 21 Апреля, 2012 - 23:37:28 - перейти к сообщению
а кто сказал что это должна быть 1 форма?! визуально может и одна, но на самом деле это разные формы, одна во фрейме для згрузки файла, вторая для сообщения.
(Добавление)
http://saintist[dot]ru/2009/08/14/jq[dot][dot][dot]jax-upload-file/
71. tuareg - 21 Апреля, 2012 - 23:44:03 - перейти к сообщению
Это-то ясно все. Тогда получится как-то так
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <iframe name="ifr"></iframe>
  3. <form action="upload.php" target ="ifr" method="post">
  4. <input type="file"/>
  5. </form>
  6. <form action="add.php" method="post">
  7.     <input type="text" />
  8.     <input type="hidden" />  
  9.     <textarea></textarea>
  10.     <input type="submit" />
  11. </form>
  12.  

И css-ом делать, чтобы визуально поле файл было во второй форме. Сейчас еще посмотрю, может можно чтобы в одной форме была вложена другая форма

Добавление
Нет вложенные формы никак, следовательно или менять атрибут или 2 формы+позиционирование
72. DlTA - 22 Апреля, 2012 - 02:05:16 - перейти к сообщению
на пальцах

1) фрейм: форма1: поле для файл
2) форма2: какие то поля, поле для данных по отправки файлов, кнопка для вида подгрузки файла (*)

*- по нажатию на эту кнопку скриптом сделать клик на элемент (кнопку) из формы1 что приведет к выскакиванию окошка выбора файла,
+ на форму1 а именно на элемент file вешаем на событие onchange отправку формы1

а для всей страницы отлавливаем окончание подгрузки и проверем состояние фрейма, после того как получили ответ нужно востновить фрейма (вставить форму)
73. zypikov - 25 Апреля, 2012 - 09:24:00 - перейти к сообщению
Можно ли сформировать название свойства объекта js динамически? Т.е., например, в функцию передаются передаются пар-ры (название_свойства1, значение_свойства), а она формирует объект, допустим
CODE (javascript):
скопировать код в буфер обмена
  1. var obj = {НАЗВАНИЕ_СВОЙСТВА:значение_свойства};
74. IllusionMH - 25 Апреля, 2012 - 12:59:56 - перейти к сообщению
zypikov,
CODE (javascript):
скопировать код в буфер обмена
  1. var obj = {};
  2. obj[param_name] = param_value;
75. zypikov - 28 Апреля, 2012 - 23:49:14 - перейти к сообщению
Да, спасибо, работает, IllusionMH). Скорее всего так не пробовал задавать свойства и их значения.
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. var obj = {param_name:param_value}
Почему так не работает?

Хтмл код внизу создает меню, при щелчке мышки на котором всплывает меню, используя код jQuery ниже него. Можно ли его переделать так, чтобы меню появлялось при наведении мышки на это меню?

CODE (html):
скопировать код в буфер обмена
  1.  
  2. <ul class="nav secondary-nav">
  3.  
  4.                         <li class="menu">
  5.  
  6.                           <a href="#" class="menu">Аккаунт</a>
  7.  
  8.                           <ul class="menu-dropdown">
  9.  
  10.                                 <li><a href="">Пункт1</a></li>
  11.  
  12.                                 <li><a href="">Пункт2</a></li>
  13.  
  14.                                 <li class="divider"></li>
  15.  
  16.                                 <li><a href="">Пункт3</a></li>
  17.  
  18.                           </ul>
  19.  
  20.                         </li>
  21.  
  22.                   </ul>
  23.  


CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. jQuery(document).ready(function(){
  3.  
  4.   // Dropdown for topbar nav
  5.   // ===============================
  6.  
  7.   jQuery("html").bind("click", function (e) {
  8.     jQuery('.dropdown-toggle, a.menu').parent("li").removeClass("open");
  9.   });
  10.  
  11.   jQuery(".dropdown-toggle, a.menu").click(function(e) {
  12.     //  First look an see if a menu is open.  If it is, then just close it.
  13.     if (jQuery(this).parent("li").hasClass("open")) {
  14.         jQuery("ul").find('li').removeClass('open');
  15.     }
  16.     //  If menu was not open, then close any other menus that were open and just open the one.
  17.     else {
  18.         jQuery("ul").find('li').removeClass('open');
  19.         jQuery(this).parent("li").addClass('open');
  20.     }
  21.     return false;
  22.   });
  23.  
  24.   // Tabs Changer
  25.   // ===============================
  26.  
  27.     //Default Action
  28.     jQuery(".tab_content").hide(); //Hide all content
  29.     jQuery("#tabs ul.tabs li:first").addClass("active").show(); //Activate first tab
  30.     jQuery(".tab_content:first").show(); //Show first tab content
  31.  
  32.     //On Click Event
  33.     jQuery("#tabs ul.tabs li").click(function() {
  34.         jQuery("ul").find('li').removeClass('open');
  35.         jQuery("ul.tabs li").removeClass("active"); //Remove any "active" class
  36.         jQuery(this).addClass("active"); //Add "active" class to selected tab
  37.         var activeTab = jQuery(this).find("a").attr("href"); //Find the rel attribute value to identify the active tab + content
  38.         if (activeTab.substr(0,1)=="#" && activeTab.substr(1)!="") { //Determine if a tab or link
  39.             jQuery(".tab_content").hide(); //Hide all tab content
  40.             jQuery(activeTab).fadeIn(); //Fade in the active content
  41.             return false;
  42.         } else {
  43.             return true; // If link allow redirect
  44.         }
  45.     });
  46.  
  47. });

 

Powered by ExBB FM 1.0 RC1