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

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

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

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

    Joined:
    8 Apr 2008
    Messages:
    223
    Likes Received:
    69
    Reputations:
    10
    2 Vlad&slav дело наверное в этой строке
    Code:
    function (data){if (data=='ERROR')
    проверь как ты отдаешь на стороне php результат, должно быть что-то вроде такого
    Code:
    echo json_encode(array('msg' => 'ERROR'));
    и тогда ты сравнивая должен указать еще имя возвращенной переменной, а именно
    Code:
    function (data){if (data.msg=='ERROR')
     
  2. imajo.ati

    imajo.ati Banned

    Joined:
    21 Feb 2008
    Messages:
    232
    Likes Received:
    62
    Reputations:
    8
    проблема:

    arr = document.getElementById("some_id").getElementsByTagName("div");
    массив содержит объекты div
    arr[0] = obj_0
    arr[1] = obj_1

    мне нужно сделать так:
    arr[0] = obj_1
    arr[1] = obj_0

    как это сделать?
    ведь если сделать так: arr[1] = arr[0] то выдаст ошибку
     
  3. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    Code:
    <script type="text/javascript">
    
    var arr = new Array(3);
    arr[0] = "1";
    arr[1] = "2";
    arr[2] = "3";
    
    document.write(arr + "<br />");
    arr = arr.reverse();
    document.write(arr);
    </script>
    
     
  4. imajo.ati

    imajo.ati Banned

    Joined:
    21 Feb 2008
    Messages:
    232
    Likes Received:
    62
    Reputations:
    8
    Pashkela
    спасибо за мысль, но я видимо недостаточно конкретно изложил проблему:

    в массиве больше 15 элементов, а нужно поменять 2 и 3 к примеру
     
  5. iv.

    iv. Elder - Старейшина

    Joined:
    21 Mar 2007
    Messages:
    1,183
    Likes Received:
    438
    Reputations:
    107
    Делаю запрос к серверу, если из браузера, то всё норм, если из проги, то вылетает:
    Code:
    <script>
    if (timer) window.clearInterval(timer);
    timer=window.setInterval("ajax_loadInto('/results/1182ffe10406f1f68ea6d218013b74d5.htm','search_results')",2000);
    </script>
    Собственно, что за хрень? Есть способы получить нужную страницу?
    http://site.com/results/1182ffe10406f1f68ea6d218013b74d5.htm - пробовал, не то.
     
  6. XopoIII

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

    Joined:
    29 Oct 2007
    Messages:
    386
    Likes Received:
    30
    Reputations:
    0
    даны 4 чекбокса, и два текстовых поля, нужно:
    при выделении первого чекбокса, писать значение его в текстовое поле1, при выделении второго, писать его значение в текстовое поле2...при снятии галочки с первого чекбокса, значение второго переходит в первое....а второй пустой....вобщем они должны принимать значения двух чекбоксов последовательно нажатых.....у меня слетает после перестановки первого чекбокса в другое место и наоборот...запутался вобщем, подмогите
    PHP:
    <script>
    function 
    test(id){
    var 
    count=$("input:checkbox[name='left_block'][checked]").size();
    if (
    count=='1'){
        if(
    document.getElementById('11').value==''){
            
    document.getElementById('11').value=$("input:checkbox[name='left_block'][checked]").val();
        }else if(
    document.getElementById('11').value!=''){
            
    document.getElementById('11').value=document.getElementById('22').value;
            
    document.getElementById('22').value='';
        }
    }else if(
    count=='2'){
        
    document.getElementById('22').value=document.getElementById(id).value;
    }
    }
    </script>
    <input type="checkbox" name="left_block" id="1111" value="1111" onclick=javascript:test('1111');>
    <input type="checkbox" name="left_block" id="2222" value="2222" onclick=javascript:test('2222');>
    <input type="checkbox" name="left_block" id="3333" value="3333" onclick=javascript:test('3333');>
    <input type="checkbox" name="left_block" id="4444" value="4444" onclick=javascript:test('4444');>
    <br>
    <input type="text" id="11">
    <input type="text" id="22">
    <br>
     
    #1546 XopoIII, 27 Jun 2009
    Last edited: 27 Jun 2009
  7. DECIDE

    DECIDE New Member

    Joined:
    16 Jun 2009
    Messages:
    11
    Likes Received:
    1
    Reputations:
    0
    если что, у меня есть хороший файлик (dup.js) для работы с динамическим обновлением

    возможности:
    изменение содержания на лету
    изменение стилей, смена дизайна
    изменение полей формы
    переход по загруженным страничкам
    и др.

    кому интересно могу описать как работать с данной библиотечкой
    не надо изобретать свой велосипед, всё очень просто делается :)
     
  8. XopoIII

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

    Joined:
    29 Oct 2007
    Messages:
    386
    Likes Received:
    30
    Reputations:
    0
    лучше с примером помоги разобраться+)
     
  9. FireFenix

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

    Joined:
    3 Jun 2009
    Messages:
    390
    Likes Received:
    115
    Reputations:
    23
    Code:
     <script> 
    function test()
    { 
      var element_1 = document.getElementById('ch1');
      var element_2 = document.getElementById('ch2');
      
      var textbox_1 = document.getElementById('txt1');
      var textbox_2 = document.getElementById('txt2');
      
      if (element_1.checked == true)
      {
        textbox_1.value = element_1.value;
      
        if (element_2.checked == true)
        {
          textbox_2.value = element_2.value;
        } else {
          textbox_2.value = '';
        }
      } else {
        textbox_2.value = '';
      
        if (element_2.checked == true)
        {
          textbox_1.value = element_2.value;
        } else {
          textbox_1.value = '';
        }
      }
    } 
    </script> 
    
    <input type="checkbox" name="left_block" id="ch1" value="1111" onClick="javascript:test();"> 
    <input type="checkbox" name="left_block" id="ch2" value="2222" onClick="javascript:test();"> 
    <input type="checkbox" name="left_block" id="ch3" value="3333"> 
    <input type="checkbox" name="left_block" id="ch4" value="4444"> 
    <br> 
    <input type="text" id="txt1"> 
    <input type="text" id="txt2"> 
    <br> 
    
    Вроде как бы ты хотел это.....
    Если не то - правильно сформулируй задачу
     
  10. XopoIII

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

    Joined:
    29 Oct 2007
    Messages:
    386
    Likes Received:
    30
    Reputations:
    0
    почти, проблема заключается в том, что можно нажимать и на третий и на 4ый чекбокс(тоесть выбрать можно любые из 4ех но толька два) допустим первым выбираю 4ый чекбокс а вторым 1ый....

    вроде получше обьяснил=)
     
  11. FireFenix

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

    Joined:
    3 Jun 2009
    Messages:
    390
    Likes Received:
    115
    Reputations:
    23
    Code:
     <script> 
    function test(Id)
    { 
      var element = document.getElementById(Id);
      
      var textbox_1 = document.getElementById('txt1');
      var textbox_2 = document.getElementById('txt2');
      
      if (element.checked == true)
      {
        if (textbox_2.value.length > 0)
        {
          textbox_2.value = element.value;
        } else {
          if (textbox_1.value.length > 0)
          {
            textbox_2.value = element.value;
          } else {
            textbox_1.value = element.value;
          }      
        }
      } else {
        if (textbox_2.value.length > 0)
        {
          textbox_1.value = textbox_2.value;
          textbox_2.value = '';
        } else {
          textbox_1.value = '';
        }
      }
    } 
    </script> 
    
    <input type="checkbox" name="left_block" id="ch1" value="1111" onClick="javascript:test('ch1');"> 
    <input type="checkbox" name="left_block" id="ch2" value="2222" onClick="javascript:test('ch2');"> 
    <input type="checkbox" name="left_block" id="ch3" value="3333" onClick="javascript:test('ch3');"> 
    <input type="checkbox" name="left_block" id="ch4" value="4444" onClick="javascript:test('ch4');"> 
    <br> 
    <input type="text" id="txt1" value=""> 
    <input type="text" id="txt2" value=""> 
    <br> 
    
     
    1 person likes this.
  12. XopoIII

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

    Joined:
    29 Oct 2007
    Messages:
    386
    Likes Received:
    30
    Reputations:
    0
    смотри=) выбираешь два чекбокса: первый и четвертый(пример(текстовые поля получа.тся 1111-4444))
    убираешь первый, все нормально, знаение перескакивает в первое текстовое поле из второго(4444- ).нажимаем опять на первый получаем(4444-1111) и тут начинается небольшой глюк....если пользователь дурак(как и я)и опять нажмет на первый чекбокс то значение замениться и получится(1111-1111)

    понимаю что нужно просто проверку еще поставить, но у меня конец смены на работе, голова не варит

    такой сбой и до этого у меня был, думал у тебя получилось по другому=(
     
  13. astrologer

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

    Joined:
    30 Aug 2007
    Messages:
    837
    Likes Received:
    267
    Reputations:
    59
    Code:
    <form>
      <input type="checkbox" name="left_block" value="1111">
      <input type="checkbox" name="left_block" value="2222">
      <input type="checkbox" name="left_block" value="3333">
      <input type="checkbox" name="left_block" value="4444">
      <br>
      <input type="text" name="txt1" id="txt1">
      <input type="text" name="txt2" id="txt2">
      <br>
    </form>
    <script> 
    
    (function(bind)
    {
      var
    
      form  = document.forms[0],
    
      ult    = form.txt1,
      penult = form.txt2,
    
      history = [];
    
      bind.call(form, 'click', function voodoo(e)
      {
        var node = e.target || e.srcElement, i, value = node.value, entries;
    
        if(node.name != 'left_block')
        {
          return;
        }
    
        if(node.checked)
        {
          history.push(value);
        }
        else
        {
          i = history.length;
    
          while(i--)
          {
            if(history[i] == value)
            {
              history.splice(i, 1);
            }
          }
        }
    
        entries = history.slice(-2)
    
        ult.value    = entries.shift() || '';
        penult.value = entries.shift() || '';
    
      });
    
    })(document.addEventListener ?
    
    function(type, fn, bubble)
    {
      this.addEventListener(type, fn, !!bubble);
    } :
    
    function(type, fn)
    {
      this.attachEvent('on' + type, fn);
    });
    
    </script>
     
    1 person likes this.
  14. XopoIII

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

    Joined:
    29 Oct 2007
    Messages:
    386
    Likes Received:
    30
    Reputations:
    0
    astrologer - спасибо огромное, обалденно все работает....буду вникать. =)
     
  15. Krist_ALL

    Krist_ALL Banned

    Joined:
    14 Jan 2009
    Messages:
    436
    Likes Received:
    193
    Reputations:
    24
    Подскажите пожалуйста как сдеалть

    Есть несколько чекбоксов с именами а1 а10 а15 не по попорядку номера.
    Нада сделать один чекбокс , ели его отметить то все чекбоксы отмечаются.

    В яваскрипт СОВСЕМ не силнен! Ненавижу его)))))))
     
  16. BrainDeaD

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

    Joined:
    9 Jun 2005
    Messages:
    774
    Likes Received:
    292
    Reputations:
    214
    Code:
    if(box.checked)
        {    a1.checked = true;
        a10.checked = true;
        a15.checked = true;
        }
        else
        {    box.checked = false;
        }
     
  17. Krist_ALL

    Krist_ALL Banned

    Joined:
    14 Jan 2009
    Messages:
    436
    Likes Received:
    193
    Reputations:
    24
    а мога поподробнее?
     
  18. BrainDeaD

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

    Joined:
    9 Jun 2005
    Messages:
    774
    Likes Received:
    292
    Reputations:
    214
    в смысле подробнее? это в принципе всё
    вот отличный туториал к чб:
    klick
     
    #1558 BrainDeaD, 27 Jun 2009
    Last edited: 27 Jun 2009
  19. astrologer

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

    Joined:
    30 Aug 2007
    Messages:
    837
    Likes Received:
    267
    Reputations:
    59
    Не очень хороший туториал :) Ещё и на немецком.
     
  20. Krist_ALL

    Krist_ALL Banned

    Joined:
    14 Jan 2009
    Messages:
    436
    Likes Received:
    193
    Reputations:
    24
    ну нифига не въеду(
     
Thread Status:
Not open for further replies.