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

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

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

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

    Joined:
    21 Aug 2007
    Messages:
    300
    Likes Received:
    149
    Reputations:
    19
    да можно, аяксом=)
     
    1 person likes this.
  2. UnPazz

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

    Joined:
    30 Aug 2008
    Messages:
    95
    Likes Received:
    43
    Reputations:
    6
    если сервер не поддерживает php, то нужно устанавливать denwer, wamp, lamp и др.
    javascript просто работает.

    чтобы ajax работал, нужно ставить сервер?
     
  3. astrologer

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

    Joined:
    30 Aug 2007
    Messages:
    837
    Likes Received:
    267
    Reputations:
    59
    вот примерно такое соответствие
    Code:
    '\x66'
    '\u0066'
    decodeURI('%66')
    unescape('%u0066')
    String.fromCharCode(0x66)
    decodeURIComponent('%66')
     
  4. astrologer

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

    Joined:
    30 Aug 2007
    Messages:
    837
    Likes Received:
    267
    Reputations:
    59
    Должно быть что-то, способное отдавать данные.
    Надо бы показывать хотя бы то, что получилось.
     
  5. UnPazz

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

    Joined:
    30 Aug 2008
    Messages:
    95
    Likes Received:
    43
    Reputations:
    6
    скоро покажу.
    а можно форму отправить по email без php и без использования email клиента на стороне клиента? чтобы внешне было как обычная форма?
     
  6. astrologer

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

    Joined:
    30 Aug 2007
    Messages:
    837
    Likes Received:
    267
    Reputations:
    59
    Нет, это вряд ли.
     
    1 person likes this.
  7. life_is_shit

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

    Joined:
    21 Aug 2007
    Messages:
    300
    Likes Received:
    149
    Reputations:
    19
    не нужно ставить сервер, аякс это джаваскриптовая фишка. вечером отпишу подробнее=)
     
  8. astrologer

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

    Joined:
    30 Aug 2007
    Messages:
    837
    Likes Received:
    267
    Reputations:
    59
    PHP:
    interface XMLHttpRequest {
      
    // event handler
               
    attribute EventListener onreadystatechange;

      
    // state
      
    const unsigned short UNSENT 0;
      const 
    unsigned short OPENED 1;
      const 
    unsigned short HEADERS_RECEIVED 2;
      const 
    unsigned short LOADING 3;
      const 
    unsigned short DONE 4;
      
    readonly attribute unsigned short readyState;

      
    // request
      
    void open(in DOMString methodin DOMString url);
      
    void open(in DOMString methodin DOMString urlin boolean async);
      
    void open(in DOMString methodin DOMString urlin boolean asyncin DOMString user);
      
    void open(in DOMString methodin DOMString urlin boolean asyncin DOMString userin DOMString password);
      
    void setRequestHeader(in DOMString headerin DOMString value);
      
    void send();
      
    void send(in DOMString data);
      
    void send(in Document data);
      
    void abort();

      
    // response
      
    DOMString getAllResponseHeaders();
      
    DOMString getResponseHeader(in DOMString header);
      
    readonly attribute DOMString responseText;
      
    readonly attribute Document responseXML;
      
    readonly attribute unsigned short status;
      
    readonly attribute DOMString statusText;
    };
    Подробнее не бывает
     
  9. life_is_shit

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

    Joined:
    21 Aug 2007
    Messages:
    300
    Likes Received:
    149
    Reputations:
    19
    astrologer где ты этот ужас откопал???
     
  10. Vid0k

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

    Joined:
    24 Dec 2007
    Messages:
    393
    Likes Received:
    125
    Reputations:
    13
    PHP:
    <?php
        
    $text 
    '

     <html> 
    <head> 
    <title>test</title> 

    <SCRIPT language="JavaScript">

    function openwindow()
    {
    windop=window.open("fail.htm","mywindow","menubar=1,resizable=1,width=350,height=500");
    windop.document.open(); 
    windop.document.write("<html><head><title>Описание</title>"); 
    windop.document.write("</head><bоdу bgcolor=#FFFFCC>"); 
    windop.document.write("<center><font face= serif,Arial,Verdana size=3 color=#000000><b>Подробное 

    описание</b></font></enter>"); 
    windop.document.write("<iframe src=\'fail.htm\'></iframe>");
    windop.document.write("<center><form><input type=\'button\' value=\'Закрыть\' onClick=\'window.close()\'></form></center>"); 
    windop.document.write("</bоdу></html>"); 
    windop.document.close();
    }

    </SCRIPT>


    </head> 
    <bоdу> 
    <FORM ACTION="javascript:openwindow()">
    <INPUT      
         TYPE=IMAGE 
         SRC="zakat.jpg" 
         HEIGHT=76 WIDTH=62 
         ALT="Yes" BORDER=0 
         NAME="Yes"
         >
    </form>  
    '
    ;

    for(
    $i=0;$i<5;$i++){

    echo 
    $text;

    }
    ?>
     
    2 people like this.
  11. astrologer

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

    Joined:
    30 Aug 2007
    Messages:
    837
    Likes Received:
    267
    Reputations:
    59
    Этот интуитивно-понятный код можно воочию увидеть в документации (это пока ещё не окончательная версия).

    По-моему, ты идёшь неверным путём, если нужно один и тот же код вывести пять раз.
     
    #1011 astrologer, 9 Dec 2008
    Last edited: 10 Dec 2008
  12. UnPazz

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

    Joined:
    30 Aug 2008
    Messages:
    95
    Likes Received:
    43
    Reputations:
    6
    Цикл for работает. Переменная i пересчитывается от 1 до 5. Но почему i равно 5 на всех ссылках (выделенная строка).
    Они ведь должны выводится 1-ая картинка i=1, 2-ая картинка i=2 и т.д.
     
    #1012 UnPazz, 9 Dec 2008
    Last edited: 9 Dec 2008
  13. astrologer

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

    Joined:
    30 Aug 2007
    Messages:
    837
    Likes Received:
    267
    Reputations:
    59
    Потому, что ты записываешь туда имя переменной, а не её значение.
    Code:
    document.write
    (
      '<form action="javascript:openwindow(' + i + ')">\
        <input type="image" src="zakat.jpg" height="76" width="62" alt="Yes" border="0" name="Yes" >\
       </form>'
    );
    
    Штамповать в цикле формы, вообще-то, не очень хорошо.
     
    1 person likes this.
  14. life_is_shit

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

    Joined:
    21 Aug 2007
    Messages:
    300
    Likes Received:
    149
    Reputations:
    19
    2astrologer не обижайся, я немного утрировал, я ничего не имею против официальных вещей, но они не всегда удобны :rolleyes:
    btw, плиз поправь пост #1018, там во второй цитате авторство мне не принадлежит :)

    2UnPazz

    вот это пихаешь, например, в ajax.js и подключаешь в хедер.

    PHP:
    function makeRequest(urlcontent_id) {
      var 
    http_request false;      
      if (
    window.XMLHttpRequest) { // Mozilla, Safari,...           
        
    http_request = new XMLHttpRequest();         
        if (
    http_request.overrideMimeType) {             
          
    http_request.overrideMimeType('text/html;');             
          
    // See note below about this line         
        
    }     
      } else if (
    window.ActiveXObject) { // IE         
         
    try {             
          
    http_request = new    
          
    ActiveXObject("Msxml2.XMLHTTP");         
        } catch (
    e) {             
           try {                 
              
    http_request = new  
              
    ActiveXObject("Microsoft.XMLHTTP");             
          } catch (
    e) {}         
        }     
       } if (!
    http_request) {         
          
    alert('Giving up :( Cannot create an XMLHTTP instance');         
          return 
    false;     
      }     

      
    http_request.onreadystatechange = function() {  
        
    alertContents(http_requestcontent_id); 
      };     
      
    http_request.open('GET'urltrue);     
      
    http_request.send(null);  
    }  

    function 
    alertContents(http_requestcontent_id) {      
      if (
    http_request.readyState == 4) {         
        if (
    http_request.status == 200) {             
          
    document.getElementById(content_id).innerHTML http_request.responseText;         
        } else {             
          
    alert('There was a problem with the request.');         
        }     
      }  
    }  

    function 
    run_request(file) {     //file путь к подгружаемому файлу
      
    makeRequest(filediv_id); //id - дива, о нем ниже 
    }
    далее в тексте твоего основного html файла создаешь див с некоторым id (см.выше).

    теперь после(!) этого дива можешь вызывать функцию run_request(file) столько раз, сколько тебе нужно и любые файлы, которые нужны.

    удачи :)
     
    #1014 life_is_shit, 9 Dec 2008
    Last edited: 10 Dec 2008
  15. UnPazz

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

    Joined:
    30 Aug 2008
    Messages:
    95
    Likes Received:
    43
    Reputations:
    6
    да спасибо :)
    подскажите вот что, если не трудно, по синтаксису :
    Например, в выделенной строке, нужно сделать zakat1.jpg,zakat2.jpg,zakat3.jpg, и т.д. Как это записывается синтаксически? zakat .jpg пустить через переменную i .
     
  16. d_x

    d_x Banned

    Joined:
    25 Mar 2008
    Messages:
    558
    Likes Received:
    650
    Reputations:
    210
    Code:
    for (var i = 0; i < 5; i++)
    {
    document.write(i);
    document.write("<FORM ACTION=\"javascriptpenwindow(i)\"><INPUT TYPE=IMAGE SRC=\"zakat"+i+".jpg\" HEIGHT=76 WIDTH=62 ALT=\"Yes\" BORDER=0 NAME=\"Yes\" ></form> ");
    }
     
    1 person likes this.
  17. life_is_shit

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

    Joined:
    21 Aug 2007
    Messages:
    300
    Likes Received:
    149
    Reputations:
    19
    d_x опередил меня=)
     
    2 people like this.
  18. astrologer

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

    Joined:
    30 Aug 2007
    Messages:
    837
    Likes Received:
    267
    Reputations:
    59
    UnPazz, расскажи, а зачем там вообще форма?
     
  19. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    Галлерею делает по моей системе:)
     
    1 person likes this.
  20. UnPazz

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

    Joined:
    30 Aug 2008
    Messages:
    95
    Likes Received:
    43
    Reputations:
    6
    Astrologer, убрал лишний код.
    d_x, спасибо, по синтаксису пояснил, но значение i, передаваемое в функцию, всегда равно 5.
    Pashkela, хороший скрипт выложил.
    В открываем окне (через функцию), переданная переменная выводится для проверки - она всегда равна 5. Знает ли кто, как сделать чтобы переменная i передавалась со значением от 1 до 5, в зависимости от нажатой ссылки ?
     
    #1020 UnPazz, 10 Dec 2008
    Last edited: 10 Dec 2008
Thread Status:
Not open for further replies.