[JavaScript, AJAX] Задай вопрос, получи ответ

Discussion in 'PHP' started by banned, 9 Jun 2007.

Thread Status:
Not open for further replies.
  1. OdaN

    OdaN Elder - Старейшина

    Joined:
    4 Mar 2006
    Messages:
    192
    Likes Received:
    17
    Reputations:
    1
    Да, приведенная в пример конструкция целиком повторяеться несколько раз, потому и использовал $(this)
     
  2. Dr.Jekill

    Dr.Jekill New Member

    Joined:
    4 Nov 2009
    Messages:
    13
    Likes Received:
    0
    Reputations:
    0
    Проход по ассоциативному массиву ассоциативных массивов

    Описал такую структуру:
    Code:
    Nodes['Ключ1']={chNode1: ["NameChNod1","LinkChNod1"], chNode2: ["NameChNod2","LinkChNod2"], .., chNodeN: ["NameChNodN","LinkChNodN"]};
    ..
    Nodes['КлючN']={chNode1: ["NameChNod1","LinkChNod1"], chNode2: ["NameChNod2","LinkChNod2"], .., chNodeN: ["NameChNodN","LinkChNodN"]};
    
    Пример заполнения:
    Code:
    Nodes['Комплектующие для ПК']={1: ["Видеокарты","http://../catalog/93"], 2: ["Motherboard","http://../catalog/104"]};
    Опыта работа с JS почти нет и что-то никак не разберусь как пройти по массиву и получить доступ к данным.
    Пытаюсь сделать функцию, принимающую Ключ, и выводящую данные о каждом элементе.
    Напр. (для приведенного выше примера) подаём на вход 'Комплектующие для ПК'. Функция выводит:
    Code:
    <p><a href="http://../catalog/93">Видеокарты</a></p>
    <p><a href="http://../catalog/104">Motherboard</a></p>
     
  3. Byte_

    Byte_ Elder - Старейшина

    Joined:
    7 Sep 2008
    Messages:
    143
    Likes Received:
    34
    Reputations:
    2
    если используешь JQuery, то там есть замечательный each
    Code:
    $.each(Nodes,function(k,v){
    //тут k - номер элемента, v - копия элемента
    //например alert(v.chNode1[1])
    //или $.each(v.chNode1,function(k1,v1){alert(v1);});
    });
     
  4. Dr.Jekill

    Dr.Jekill New Member

    Joined:
    4 Nov 2009
    Messages:
    13
    Likes Received:
    0
    Reputations:
    0
    JQuery не юзаю. Решил проблему так:
    Code:
    Nodes = {
        'Комплектующие для ПК': 
         {
          1: ["01. Видеокарты, ТВ-тюнеры","/e-store/xml_catalog/94/"],
          2: ["01. Память","/e-store/xml_catalog/95/"]
         },
        'Книги':
         {
          1: ["01. Научно-популярная литература","/e-store/xml_catalog/80/"]
         }
           }; 
    
    
     function show_links(key)
     {
      var node = Nodes[key];
      for (var i in node)
      document.write('<p><a href="' + node[i][1] + '">' + node[i][0] + '</a></p>\n');
     }
     
  5. Tesson

    Tesson Banned

    Joined:
    27 Dec 2009
    Messages:
    164
    Likes Received:
    43
    Reputations:
    0
    как сделать чтоб работал с value и с textarea?
    вот код

    Code:
    
    function check_fields(el_id,el_id2)
    {
    if (document.getElementById(el_id).value == '' || document.getElementById(el_id2).value == '')
    {alert('Заполнены не все поля!');return false;}
    }
    
    
     
  6. FindeR

    FindeR Elder - Старейшина

    Joined:
    15 Nov 2006
    Messages:
    623
    Likes Received:
    138
    Reputations:
    20
    А твой вариант тебе чем не нравится?:))
    Code:
    <script>
    function check_fields(el_id)
    {
    if (document.getElementById(el_id).value == '')
    
    {alert('Заполнены не все поля!');return false;}
    }
    </script>
    <textarea id="area"></textarea>
    <br />
    <button onclick="check_fields('area');">Push me!</button>
    
     
    1 person likes this.
  7. Tesson

    Tesson Banned

    Joined:
    27 Dec 2009
    Messages:
    164
    Likes Received:
    43
    Reputations:
    0
    нету textarea и не работает :(
     
  8. FindeR

    FindeR Elder - Старейшина

    Joined:
    15 Nov 2006
    Messages:
    623
    Likes Received:
    138
    Reputations:
    20
    Я тебя не понимаю.
    <textarea id="area"></textarea>
    а это что?:)

    И очень даже работает. Если не заполнено - выдаст alert.
     
  9. Tesson

    Tesson Banned

    Joined:
    27 Dec 2009
    Messages:
    164
    Likes Received:
    43
    Reputations:
    0
    не то
    другое вообще имел виду
    добавить туда в скрипт ещё и textarea там только value
     
  10. 0ldbi4

    0ldbi4 Elder - Старейшина

    Joined:
    14 Apr 2008
    Messages:
    264
    Likes Received:
    51
    Reputations:
    10
    Активная закладка

    Добрый день!

    Нашел скрипт
    Код:

    Code:
    <SCRIPT LANGUAGE="JavaScript">
    *function ClipBoard() {
    **holdtext.innerText = copytext.innerText; 
    **Copied = holdtext.createTextRange(); 
    **Copied.execCommand("Copy");
     } 
    </SCRIPT>

    Хочу в закладку вписать скрипт что бы по нажатию в буфер обмена заносилось значение.

    Заранее благодарен за реализацию.
     
  11. miako

    miako Member

    Joined:
    20 Jan 2010
    Messages:
    154
    Likes Received:
    13
    Reputations:
    5
    http://habrahabr.ru/blogs/ie/63704/
     
  12. miako

    miako Member

    Joined:
    20 Jan 2010
    Messages:
    154
    Likes Received:
    13
    Reputations:
    5
    А никак. Нужно знать имена, чтобы достать через JS. В браузере просто так не посмотришь.
     
    1 person likes this.
  13. Byte_

    Byte_ Elder - Старейшина

    Joined:
    7 Sep 2008
    Messages:
    143
    Likes Received:
    34
    Reputations:
    2
    а разве данные localStorage не хранятся в обычном sqLite в папке с профилем браузера?
     
  14. miako

    miako Member

    Joined:
    20 Jan 2010
    Messages:
    154
    Likes Received:
    13
    Reputations:
    5
    В каждом браузере по разному. В любом случае, в открытом виде они не лежат.
     
  15. #Wolf#

    #Wolf# Elder - Старейшина

    Joined:
    26 Mar 2008
    Messages:
    375
    Likes Received:
    166
    Reputations:
    16
  16. miako

    miako Member

    Joined:
    20 Jan 2010
    Messages:
    154
    Likes Received:
    13
    Reputations:
    5
    Список с превьюшками - это ненумерованный список (ul). В данном случае, каждый его элемент имеет свойство css float:left, что дает горизонтальность. Убираем его - получаем вертикальный список. Осталось написать его раньше главной картинки и добавить элементу ul свойство float:left. В js не копался, надеюсь правильно понял.
     
  17. explosm

    explosm New Member

    Joined:
    9 Aug 2010
    Messages:
    31
    Likes Received:
    3
    Reputations:
    0
    послали к вам с пхп вот пишу :)

    может вопрсо глупый но чегот не знаю как правильно задать вопрос чтобы найти его:

    Есть обычное поле ввода, ввел данные, нажал посчитать, и оно вывыело результат после нажатия

    А я хочу чтобы как везде ввел данные и оно сразу без нажатия посчитать выводило результат..

    подскажите какую строчку добавить надо текста...
     
  18. FindeR

    FindeR Elder - Старейшина

    Joined:
    15 Nov 2006
    Messages:
    623
    Likes Received:
    138
    Reputations:
    20
    Давай конкретный пример - какие поля и что нужно посчитать.
     
  19. explosm

    explosm New Member

    Joined:
    9 Aug 2010
    Messages:
    31
    Likes Received:
    3
    Reputations:
    0
    http://obmennik.in.ua/order или http://freedom.erclans.ru/razdevalka/

    только вводим какието данные сразу выводится результат.. а не как у меня надо нажать кнопку считать..
     
  20. FindeR

    FindeR Elder - Старейшина

    Joined:
    15 Nov 2006
    Messages:
    623
    Likes Received:
    138
    Reputations:
    20
    Самый простейший вариант - вешаем на onkeyup функцию, которая нам всё считает.
    Code:
    <script>
    function calc()
    {
    rate = document.getElementById('rate').value;
    cnt = document.getElementById('cnt').value;
    document.getElementById('rur').value = rate * cnt;
    }
    </script>
    <input id="rate" onkeyup="calc();" /> Курс USD<br />
    <input id="cnt" onkeyup="calc();" /> Количество USD<br />
    <input id="rur" /> Рублей <br />
    
     
    1 person likes this.
Thread Status:
Not open for further replies.