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 :: Версия для печати :: Как мне сделать это? [4]
Форумы портала PHP.SU » Клиентская разработка » JavaScript & VBScript » Как мне сделать это?

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

46. Viper - 05 Января, 2012 - 09:21:17 - перейти к сообщению
CODE (html):
скопировать код в буфер обмена
  1. <input type="hidden" name="Цвет1" value="серый" id="color" />
  2. <input type="hidden" name="Размер1" value="серый" id="size" />


CODE (javascript):
скопировать код в буфер обмена
  1. $(':button').click(function(e){
  2.         e.preventDefault();
  3.  
  4.         var prev_input = $(this).parent('table').closest('tr').find(':hidden').val();
  5.         $('#color').val(prev_input);
  6.         $('#size').val($(this).val());
  7. });


Как-то так. Работу гарантировать не могу т.к. у вас каша в разметке.
47. armancho7777777 - 05 Января, 2012 - 09:29:44 - перейти к сообщению
Вот разметка:

CODE (html):
скопировать код в буфер обмена
  1.  
  2. <table border="0" cellpadding="3" cellspacing="1">
  3.  
  4. <tr>
  5.  
  6.    <td class="tdInputs">
  7.  
  8.         <input type="text" name="collor_1" value="белый" class="inpTextColor">
  9.  
  10.         <input type="button" name="size_1" value="45">
  11.        
  12.         <input type="button" name="size_1" value="46">
  13.    
  14.     </td>
  15.  
  16. </tr>
  17.  
  18.   <tr>
  19.  
  20.       <td class="tdInputs">
  21.        
  22.           <input type="text" name="collor_2" value="серый" class="inpTextColor">
  23.      
  24.           <input type="button" name="size_2" value="45">
  25.            
  26.           <input type="button" name="size_2" value="46">
  27.      
  28.       </td>
  29.  
  30.   </tr>
  31.  
  32. </table>
  33.  
  34.  
  35. <input type="text" name="cvet1" value="" id="hiddenColor">
  36.  
  37. <input type="text" name="razmer1" value="" id="hiddenSize">
  38.  


А вот JS код:

CODE (javascript):
скопировать код в буфер обмена
  1.  
  2.  
  3. $(document).ready(function(){
  4.    
  5.   $('input:button').each(function(){
  6.          
  7.         $(this).click(function(event){
  8.                
  9.                 if(this == event.target){
  10.                        
  11.                   var size = $(this).val();
  12.                   var color = $(this).parents('.tdInputs:eq(0)').find('.inpTextColor').val();
  13.                  
  14.                   $('#hiddenSize').val(size);
  15.                   $('#hiddenColor').val(color);
  16.                 }
  17.                
  18.         });
  19.          
  20.   });
  21.  
  22. });
  23.  
  24.  
48. SERIOUS - 10 Января, 2012 - 21:26:54 - перейти к сообщению
У меня есть подобная функция, она обновляет содержимое.
вот такой части кода
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <td colspan="2" class="vmCartModule">
  3.          <div style="float: left;" >
  4. 5 Товары</div>
  5. <div style="float: right;">
  6. руб65 850.00</div>
  7.         </td>
  8.  

Сама функция
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. function updateMiniCarts() {
  3.     var callbackCart = function(responseText) {
  4.         carts = $$( '.vmCartModule' );
  5.         if( carts ) {
  6.             try {
  7.                 for (var i=0; i<carts.length; i++){
  8.                     carts[i].innerHTML = responseText;
  9.        
  10.                     try {
  11.                         color = carts[i].getStyle( 'color' );
  12.                         bgcolor = carts[i].getStyle( 'background-color' );
  13.                         if( bgcolor == 'transparent' ) {
  14.                             // If the current element has no background color, it is transparent.
  15.                             // We can't make a highlight without knowing about the real background color,
  16.                             // so let's loop up to the next parent that has a BG Color
  17.                             parent = carts[i].getParent();
  18.                             while( parent && bgcolor == 'transparent' ) {
  19.                                 bgcolor = parent.getStyle( 'background-color' );
  20.                                 parent = parent.getParent();
  21.                             }
  22.                         }
  23.                         var fxc = new Fx.Style(carts[i], 'color', {duration: 1000});
  24.                         var fxbgc = new Fx.Style(carts[i], 'background-color', {duration: 1000});
  25.  
  26.                         fxc.start( '#222', color );                
  27.                         fxbgc.start( '#fff68f', bgcolor );
  28.                         if( parent ) {
  29.                             setTimeout( "carts[" + i + "].setStyle( 'background-color', 'transparent' )", 1000 );
  30.                         }
  31.                     } catch(e) {}
  32.                 }
  33.             } catch(e) {}
  34.         }
  35.     }
  36.     var option = { method: 'post', onComplete: callbackCart, data: { only_page:1,page: "shop.basket_short", option: "com_virtuemart" } }
  37.     new Ajax( live_site + '/index2.php', option).request();
  38.    
  39.  
  40. }
  41.  


Я вынужден был использовать jQuery, поэтому мне нужно эту функцию преобразовать в jQuery. Подскажите как это сделать. Цена храниться вот в такой вещи.
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <span class="productPrice">
  3.         руб13 170.00            </span>
  4.  
49. SERIOUS - 29 Января, 2012 - 04:35:24 - перейти к сообщению
Здравствуйте. Помогите реализовать или дайте ссылок куда читать уже надоело гуглить.
Мне нужно чтобы во время начала отправки формы вылазило маленькое окошко или что-то подобное, с одной надписью. И это окошко либо 1.5 минуты весело, либо уже после успешной отправки формы(форма может отправить не успешно и вернуть 504) убрать это окошко. В коде я пометил месте где надо вызывать и где надо прерывать. Но я блин не могу понять во первых как это окошко выводить. А во вторых как его выводить на время.
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. $(document).ready(function(){
  3.   var options = {
  4.     target: "#output",
  5.     beforeSubmit: showRequest,
  6.     success: showResponse
  7.   };
  8.   $('#myForm').submit(function() {
  9.     $(this).ajaxSubmit(options);
  10. //Начинаем вызывать по времени
  11.     return false;
  12.   });
  13.  
  14. });
  15.  
  16. // вызов перед передачей данных
  17. function showRequest(formData, jqForm, options) {
  18.  
  19.     var queryString = $.param(formData);
  20.  return true;
  21. }
  22.  
  23. // вызов после получения ответа
  24. function showResponse(responseText, statusText)  {
  25.  
  26. //вот тут прерывать
  27.  
  28. }
50. IllusionMH - 29 Января, 2012 - 11:50:10 - перейти к сообщению
SERIOUS, подробно курить мануалы по setTimeout(clearTimeout) и setInterval (clearIntervel)

Роль всплывающего окна будет играть div с соответствующим текстом и id popup и абсолютным позиционированием
А код будет примерно такого вида
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. //переменные здесь, т.к. функция showResponse лежит вне функции ready
  3. var popupTimer,
  4.   popupHide = function() {
  5.     #("popup").hide();
  6.     clearTimeout(popupTimer);
  7.   },
  8.   popupShow = function () {
  9.     #("popup").show();
  10.     popupTimer = setTimeout(popupHide, 1000 * 90);//задержка в 90 секунд
  11.   };
  12.  
  13. $(document).ready(function(){
  14.   var options = {
  15.     target: "#output",
  16.     beforeSubmit: showRequest,
  17.     success: showResponse
  18.   };
  19.  
  20.   $('#myForm').submit(function() {
  21.     $(this).ajaxSubmit(options);
  22.  
  23.     //Начинаем вызывать по времени
  24.     popupShow();
  25.  
  26.     return false;
  27.   });
  28. });
  29.  
  30. // вызов перед передачей данных
  31. function showRequest(formData, jqForm, options) {
  32.     var queryString = $.param(formData);
  33.  return true;
  34. }
  35.  
  36. // вызов после получения ответа
  37. function showResponse(responseText, statusText)  {
  38.  
  39. //вот тут прерывать
  40. popupHide();
  41.  
  42. }
51. SERIOUS - 29 Января, 2012 - 16:18:47 - перейти к сообщению
IllusionMH
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. <script type="text/javascript">
  3.  
  4. $(document).ready(function(){
  5.     var options = {
  6.         target: "#output<?=$links['id_link'] ?>",
  7.         beforeSubmit: showRequest,
  8.         success: showResponse
  9.     };
  10.     $('#myForm<?=$links['id_link'] ?>').submit(function() {
  11.         $(this).ajaxSubmit(options);
  12.        
  13.         popupShow();
  14.            
  15.         return false;
  16.     });
  17. });
  18. // вызов перед передачей данных
  19. function showRequest(formData, jqForm, options) {
  20.     var queryString = $.param(formData);
  21.  
  22.     return true;
  23. }
  24. // вызов после получения ответа
  25. function showResponse(responseText, statusText)  {
  26.     //вот тут прерывать
  27.     popupHide();
  28. }
  29.  
  30. var popupTimer;
  31. function popupShow() {
  32.     #("popup").hide();
  33.     clearTimeout(popupTimer);
  34.   }
  35.  
  36.   function popupHide() {
  37.     #("popup").show();
  38.     popupTimer = setTimeout(popupHide(), 1000 * 90);//задержка в 90 секунд
  39. }
  40.  

твой вариант как ты дал не работает, там jQuery не срабатывает, превратил твоё вот в это, тоже не работает. Без этих функций и вызывов этих функций всё красиво.
52. IllusionMH - 29 Января, 2012 - 17:30:05 - перейти к сообщению
SERIOUS, логично что не работает Радость
Я неправильно строки
CODE (javascript):
скопировать код в буфер обмена
  1. #("popup").hide();
  2. #("popup").show();
  3.  

написал в спешке
А ты перепутал где прятать, а где показывать.

Должно быть
CODE (javascript):
скопировать код в буфер обмена
  1. function popupHide() {
  2.     $("#popup").hide();
  3.     clearTimeout(popupTimer);
  4.   }
  5.  
  6.   function popupShow() {
  7.     $("#popup").show();
  8.     popupTimer = setTimeout(popupHide, 1000 * 90);//скобки у функции не нужны
  9. }
53. Wooorker - 29 Января, 2012 - 21:57:30 - перейти к сообщению
Посоветуйте, каким образом реализовать задачку.
1. Есть большие файлы Excel. Может быть несколько сот строк, а может быть и тысяч.
Для каждой строки в последней колонке есть картинка.
Понятно, что если бы не было картинок, можно было бы тупо PHPExcel'ем загрузить файлы, но с картинками не подходит такой вариант.
2. Нужно со стороны клиента "распарсить" выбранные xls файлы, залить данные в БД, ну и картинки каким-то образом связать с данными в БД.
3. Ну и все дальнейшие преобразования с данными в БД предполагается на php делать.

Пока что непонятно, каким образом залить данные в БД и связать с этими данными файлы картинок.
Знаю как это локально на vbs сделать ( в локальную же БД на ODBC). А как это сделать в связке php+js?
54. Zuldek - 30 Января, 2012 - 08:21:45 - перейти к сообщению
ищите готовые библиотеки, все уже написано до вас не ленитесь гуглить.
55. Wooorker - 30 Января, 2012 - 12:09:31 - перейти к сообщению
Zuldek пишет:
ищите готовые библиотеки, все уже написано до вас не ленитесь гуглить.
Два дня искал, прежде чем сюда решил написать. Понятно, что написано уже. Видимо неправильно формулирую запрос, чтобы гуглить.
56. tipagraf - 02 Марта, 2012 - 19:22:09 - перейти к сообщению
Доброго времени, всем
сори если запостил не в тему, автор утверждал что скрипт написан на яваскрипте.
а так как я не шарю в яваскриптах решил задать вопрос здесь?
вчера гуглил вот нашел скрипт с регуляркой
может кто проверить правильно ли составлена регулярка в скрипте:
CODE (htmlphp):
скопировать код в буфер обмена
  1. var Ref=document.referrer;
  2.  
  3. if (Ref.indexOf('.mail.')!=-1 || Ref.indexOf('.rambler.')!=-1 || Ref.indexOf('.yandex.')!=-1 )
  4. {
  5. function referrer_keyword_parser() {
  6.       var patterns =
  7.                [
  8.                      [ /^http:\/\/([a-z]+\.)?mail\.(ru)?\/[-a-zA-Z\w-а-яА-Я0-9.]+/, /q=([^&]+)/ ],
  9.                     [ /^http:\/\/([a-z]+\.)?rambler\.(ru)?\/[-a-zA-Z\w-а-яА-Я0-9.]+/, /q=([^&]+)/ ],
  10.                     [ /^http:\/\/([a-z]+\.)?yandex\.(ru|ua)?[-a-zA-Z\w-а-яА-Я0-9.]+/, /q=([^&]+)/ ],
  11.                    
  12.  
  13.               ]
  14. var p;
  15.            for ( var k in patterns) {
  16.                    p = patterns[k]
  17.                    if (document.referrer.match(p[0])) {
  18.                            var m = document.referrer.match(p[1]);
  19.                            if (m.length)
  20.                               return m[1];
  21.                            else
  22.                               break;
  23.                    }
  24.            }
  25.        return escape("Default");
  26.    }
Заранее Благодарен.

Зы Спросить у автора не получается, автор скрипта на связь не выходил с прошлого. года.
57. SERIOUS - 03 Апреля, 2012 - 10:27:39 - перейти к сообщению
Здравствуйте

У меня на странице много чекбоксов вот такими вот образом
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <input type="checkbox" id="ch_on" name="ch_on[]" value=""> <font color="red"><b>Approved</b></font>
  3. &nbsp;
  4. <input type="checkbox" id="chk_id" name="chk_id[]" value=""> <font color="blue"><b>Delete</b></font>
  5.  


Есть вот такие ключевые чекбоксы.
CODE (html):
скопировать код в буфер обмена
  1. <input type=checkbox name=ch_en_all id="enable" value=1 OnClick="SetChecked('ch_on', 'enable')"><font color="red"> <b><i>Enabled</i></b></font>
  2. <input type=checkbox name=ch_del_all id="delet" value=1 OnClick="SetChecked('chk_id', 'delet')"><font color="blue"> <b><i>Delete</i></b></font>


Они как можно заметить сслыаются на функцию.
Вот ниже эта функция.
CODE (javascript):
скопировать код в буфер обмена
  1. <script>
  2. function SetChecked(block, corrent) {
  3.  
  4.         if($('#'+corrent).attr('checked')){
  5.                 $('#'+block).attr('checked', true);
  6.             } else {
  7.                     $('#'+block).attr('checked', false);
  8.             }
  9.  }
  10. </script>

Как я хотел она должна менять значения всех чекбоксов с определённым id, но у меня почему-то только первый чекбокс меняется из группы Enabled или Delete

Подскажите пожалуйста в чём причина, почему оно так, или просто помогите мне это реализовать.
58. DelphinPRO - 03 Апреля, 2012 - 10:39:32 - перейти к сообщению
ID у элемента должен быть уникальным в пределах страницы. т.е. ЕДИНСТВЕННЫМ.
поэтому и выборка идет одного элемента
Делайте выборку по классам
<input type=checkbox calss=myclass>
$('input.myclass').attr('checked', true);
59. kasphaus - 21 Апреля, 2012 - 20:51:38 - перейти к сообщению
Здравствуйте.

У меня есть примерно такой html код
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <iframe name="ifr"></iframe>
  3. <form action="add.php" target ="ifr" method="post">
  4.     <input type="text" />
  5.     <input type="file"/>
  6.     <textarea></textarea>
  7.     <input type="submit" />
  8. </form>
  9.  


Когда пользователь выберет файл, этот файл асинхронно загружается на сервер, делаться это будет через скрытый iframe.

Но, мне нужно сделать аналог формы в форме, т.е. чтобы файл отсылался на допустим uploadFile.php в котором будут проводиться различные проверки, и в итоге если все норм файл сохранится во временной папке, а в общую форму добавятся hidden input с именами файлов. А вся форма вместе взятая отправлялась на add.php, в котором будет добавляться запись в БД, в том числе с уже загруженными файлами. Как это сделать?

Конечно можно отсылать все на один обработчик, но тогда мне непонятно, как узнать на стороне сервера пришел пост запрос сейчас из фрейма (т.е. это пришел только файл), или форма была отправлена пользователем (т.е. это уже готовые данные для добавления в БД).
60. tuareg - 21 Апреля, 2012 - 21:13:24 - перейти к сообщению
Здравствуйте.
Вы же сами пишите
kasphaus пишет:

Когда пользователь выберет файл, этот файл асинхронно загружается на сервер, делаться это будет через скрытый iframe.

Т.е файл загрузился, прошел проверку все Ok, тогда uploadFile.php пусть возвращает имя этого файла. А в форму добавьте input type="hidden" и в него вставляйте возвращенное имя.

 

Powered by ExBB FM 1.0 RC1