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

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

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

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

    Joined:
    24 Feb 2006
    Messages:
    163
    Likes Received:
    35
    Reputations:
    19
    А оно вроде и не должно работать =)
    Только скриптам можно посылать вроде данные...
    Во всяком случае на jQuery проверил
    $.get
    $.post
    .load
    Они по ссылкам ничего не загрузили, только скрипты из своей и дочерних папок...
     
  2. FireFenix

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

    Joined:
    3 Jun 2009
    Messages:
    390
    Likes Received:
    115
    Reputations:
    23
    Code:
    <script language="javascript">
    
    function Inint_AJAX() 
    {  
      try { return new ActiveXObject("Msxml2.XMLHTTP");    } catch(e) {} //IE
      try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) {} //IE
      try { return new XMLHttpRequest();                   } catch(e) {} //Native Javascript
      
      alert("XMLHttpRequest not supported");
      return null;
    }
    
    function request(url) 
    {
        var ajax = Inint_AJAX();    
        
        ajax.onreadystatechange = function ()
        {
          if ((ajax.readyState == 4) && (ajax.status == 200))
          {
            var text = ajax.responseText.toString();
            
            document.getElementById('incl').innerHTML = text;
          }
        };
        
        ajax.open('GET', url);    
        ajax.send(null);
    
    }
    </script>
    
    <input type="button" onClick="javascript:request('http://localhost/');" value="Press">
    <div id="incl"></div>
    
    будет работать тока вдоль 1 домена.... если лезть на другие - политика прав не разрешит и вызовет ошибку
     
  3. Большой джо

    Joined:
    28 Jun 2009
    Messages:
    51
    Likes Received:
    2
    Reputations:
    0
    блин, хренова=) спасибо за помощь!)))
     
  4. #Wolf#

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

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

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    1 person likes this.
  6. Lexa73

    Lexa73 Banned

    Joined:
    16 Aug 2009
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    КАк создать скрипт вконтакте чтоб воровал куки и начинался с javascript
     
    #1806 Lexa73, 13 Sep 2009
    Last edited: 13 Sep 2009
  7. Nova

    Nova Green member

    Joined:
    15 Jul 2005
    Messages:
    1,233
    Likes Received:
    420
    Reputations:
    280
    Маленький вопрос.
    как сделать такую форум на ajax

    Услуга1 Услуга2 Услуга3
    Тип 1 Тип2 Тип3

    Если пользователь выбирает , услугу1 то появляется выпадающее меню со значениями тип1 , если выбирает услуга2 , то появляется выпадающее меню с типом товара2 итд...

    Можно пример плз ?
     
    _________________________
  8. FireFenix

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

    Joined:
    3 Jun 2009
    Messages:
    390
    Likes Received:
    115
    Reputations:
    23
    index.html
    Code:
    <script language="javascript">
    
    function Inint_AJAX() 
    {  
      try { return new ActiveXObject("Msxml2.XMLHTTP");    } catch(e) {} //IE
      try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) {} //IE
      try { return new XMLHttpRequest();                   } catch(e) {} //Native Javascript
      alert("XMLHttpRequest not supported");
      return null;
    }
    
    function change(value)
    {
      var elem = document.getElementById('type');
      
      var req = Inint_AJAX();
    
      req.onreadystatechange = function ()
      {
        if (req.readyState == 4) 
        {
          if (req.status == 200) 
          {
            var text = req.responseText.toString(); //retuen value
            
            elem.innerHTML = text;
          }
        }
      };
    
      req.open('GET', 'ajax.php?type=' + value, true); //make connection
      req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded;charset=cp1251'); // set Header
      req.send(null); //send value  
    }
    
    </script>
    
    <select id="select" onChange="javascript:change(this.value);">
      <option></option>
      <option value="1">Тип 1</option>
      <option value="2">Тип 2</option>
      <option value="3">Тип 3</option>
    </select>
    <br>
    <br>
    <select id="type"></select>
    
    ajax.php
    PHP:
    <?php

    if (strlen($_GET['type']) > 0)
    {
      switch(
    $_GET['type'])
      {
        case 
    '1':
          
    $result '<option>Услуга 1.1</option><option>Услуга 1.2</option>';
        break;

        case 
    '2':
          
    $result '<option>Услуга 2.1</option><option>Услуга 2.2</option>';
        break;

        case 
    '3':
          
    $result '<option>Услуга 3.1</option><option>Услуга 3.2</option>';
        break;
      }
    }

    echo(
    iconv('WINDOWS-1251''UTF-8'$result));

    ?> 
    Ну т.е. я немного местами поменял Тип/Услуга =)
     
    1 person likes this.
  9. Большой джо

    Joined:
    28 Jun 2009
    Messages:
    51
    Likes Received:
    2
    Reputations:
    0
    Как передать данные посредством ajax методом POST? И это, возможно ли в запросе передать Русские буквы, если да, то как???!)
     
    #1809 Большой джо, 14 Sep 2009
    Last edited: 14 Sep 2009
  10. m0nsieur

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

    Joined:
    8 Apr 2008
    Messages:
    223
    Likes Received:
    69
    Reputations:
    10
    Посмотри этот плагин для jQuery:

    __http://dev.iceburg.net/jquery/jqModal/#examples

    там с примерами, думаю можно под себя заточить(универсального решения все равно не найдешь..), только вот там по второй ссылке не получится кликнуть, если окно 1-ое не закрыл.
     
    2 people like this.
  11. svesve

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

    Joined:
    15 Jun 2007
    Messages:
    574
    Likes Received:
    86
    Reputations:
    11
    есть такая структура
    <form name="duty" id="duty">
    <select name="uid" id="sel1">...</select>
    <select name="uid" id="sel2">...</select>
    <select name="uid" id="sel3">...</select>
    </form>
    Селектов порядка 30

    как проверить что во всех селектах значение выбранного optiona не = -1 ??
    если значение НЕ -1 то постим форму, если -1 то алерт
     
  12. m0nsieur

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

    Joined:
    8 Apr 2008
    Messages:
    223
    Likes Received:
    69
    Reputations:
    10
    на js пишешь функ
    Code:
    function check_option() {
    // эту проверку можно повесить на цикл, чтобы не описывать все 30 элементов.
    if (document.getElementById('sel1').value != -1) {
    return true; // тогда форма засабмитится
    } else {
    alert('Введите верные значения!');
    return false; // сабмита не будет
    }
    }
    в описание формы добавляешь
    Code:
    <form name="duty" id="duty" [B]onsubmit="return check_option();"[/B]>
    
     
  13. svesve

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

    Joined:
    15 Jun 2007
    Messages:
    574
    Likes Received:
    86
    Reputations:
    11
    как быдем менять значение sel1?????????
    у нас же sel1 sel2 sel3

    покарйне мере у меня не получилось в цикле sel менять
     
  14. m0nsieur

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

    Joined:
    8 Apr 2008
    Messages:
    223
    Likes Received:
    69
    Reputations:
    10
    Code:
    function check_option() {
        for (i=1; i<30; i=i+1) {
            if (document.getElementById([B]'sel'+i[/B]).value == -1) {
                alert('Введите верные значения!');
                return false; // сабмита не будет
            } 
        }
        // если все проверки прошли, то сабмитим.
        return true;
    }
    
     
    #1814 m0nsieur, 15 Sep 2009
    Last edited: 15 Sep 2009
  15. svesve

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

    Joined:
    15 Jun 2007
    Messages:
    574
    Likes Received:
    86
    Reputations:
    11
    сабмит проходит незаивисмо от значений
    скрипт не пашет (
     
  16. m0nsieur

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

    Joined:
    8 Apr 2008
    Messages:
    223
    Likes Received:
    69
    Reputations:
    10
    На вот

    Code:
    <script language="javascript">
    function check_option() {
        for (i=1; i<30; i=i+1) {
            if (document.getElementById('sel'+i).value == -1) {
                alert('Алерт!');
                return false; 
            }
        }
        return true;
    }
    </script>
    
    <html>
    
    <form name="duty" id="duty" onsubmit="return check_option()">
    <select name="uid" id="sel1"><option>1</option></select>
    <select name="uid" id="sel2"><option>1</option><option>-1</option></select>
    <select name="uid" id="sel3"><option>1</option></select>
    <input type="submit">
    </form>
    </html>
    
    
     
    1 person likes this.
  17. svesve

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

    Joined:
    15 Jun 2007
    Messages:
    574
    Likes Received:
    86
    Reputations:
    11
    Воо Спасибо Мэн! помог +++
     
  18. NuR

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

    Joined:
    11 Dec 2005
    Messages:
    85
    Likes Received:
    58
    Reputations:
    -2
    я тут поговнокодил пять минут, вот что у меня получилось=)
    Code:
    <html>
    <body>
    <div style='position:absolut'>
    <input style='position:absolute' type='button' value='da' id='da' onMouseOver ='swap()'>
    <br><br><br>
    <input style='position:absolute' type='button' value='net' id='net'>
    </div>
    <script>
    function swap()
    {
    da1=get_position("absolute","da");
    net1=get_position("absolute","net");
    setElementPosition("net",da1["left"],da1["top"]);
    setElementPosition("da", net1["left"],net1["top"]);
    }
    function get_position(pos, elemId){
       elem = document.getElementById(elemId);
        var l = 0;
        var t = 0;
        if(pos=='absolute'){   
            while (elem){             
                l += elem.offsetLeft;
                t += elem.offsetTop;
                elem = elem.offsetParent;
            }
        }else{
            if(navigator.userAgent.indexOf('Gecko') > -1){  
                t=elem.style.top;
                l=elem.style.left;
                t=Number(t.replace("px", ''));
                l=Number(l.replace("px", ''));    
            }else{
                t=Number(elem.style.pixelTop);
                l=Number(elem.style.pixelLeft);
            } 
        }
        
        return {'left':l, 'top':t};
    }
    function setElementPosition(elemId,left,top){
        var elem = document.getElementById(elemId);
        if(navigator.userAgent.indexOf('Gecko') > -1){
           elem.style.top=top+'px';
           elem.style.left=left+'px';   
       }else{
           elem.style.pixelTop=top;
           elem.style.pixelLeft=left;
       }
    }
    </script>
    </body>
    </html>>
    
    яб ищо повтыкал но пиво кончилось=)
     
    2 people like this.
  19. NuR

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

    Joined:
    11 Dec 2005
    Messages:
    85
    Likes Received:
    58
    Reputations:
    -2
    проблем то
    Code:
    <input onclick='alert("а вот хрен тебе")' style='position:absolute' type='button' value='da' id='da' onMouseOver ='swap()'>
     
  20. Chode

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

    Joined:
    20 Jul 2008
    Messages:
    164
    Likes Received:
    19
    Reputations:
    0
    Товарищи кто нибудь реализовал псевдо-много поточность через AJAX. Например как на bposter или что-нибудь в этом роде...

    Есть какая нибудь инфа? поделитесь пожалуйста...
     
Thread Status:
Not open for further replies.