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

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

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

    RaTeN New Member

    Joined:
    19 Aug 2010
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    <HTML>
    <HEAD>
    <SCRIPT>
    function keyEvent()
    {
    status='Unicode= '+event.keyCode+' Символ='+String.fromCharCode(event.keyCode);
    if((event.keyCode>=49)&&(event.keyCode<=51))
    {
    imgs.width=150;
    imgs.style.position="absolute";
    imgs.style.left=0;
    imgs.style.top=0;
    }
    switch (event.keyCode) //Анализ Unicode клавиш
    {
    case 37: {imgs.style.pixelLeft-=10;break} // "Стрелка влево"
    case 39: {imgs.style.pixelLeft+=10;break} // "Стрелка вправо"
    case 38: {imgs.style.pixelTop-=10;break} // "Стрелка вниз"
    case 40: {imgs.style.pixelTop+=10;break} // "Стрелка вверх"
    case 49: {imgs.src="flower.jpg";break} // "1"
    case 50: {imgs.src="everest.jpg" document.sound1.play(false);break} // "2"
    case 51: {imgs.src="fish.gif";break} // "3"
    case 188:{imgs.width--;break;} // "<"
    case 190:{imgs.width++;break;} // ">"
    }
    }
    function help()
    {
    alert("Выбор рисунка: клавиши '1','2' и '3'\n" +
    "Перемещение рисунка: клавиши 'Стрелка влево','Стрелка вправо',"+
    " 'Стрелка вниз' и 'Стрелка вверх'\n"+
    "Изменение размера рисунка: клавиши '<' и '>'");
    event.returnValue=false;
    }
    </SCRIPT>
    </HEAD>
    <BODY onHelp="help()" onKeyDown="keyEvent()">
    <IMG NAME=imgs WIDTH=0>
    autostart="false" height="0">
    </BODY>
    </HTML>


    а как сделать чтобы при нажатии клавиши 2 еще и звук вопроизводился?
     
  2. InfectedM

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

    Joined:
    4 Nov 2007
    Messages:
    155
    Likes Received:
    12
    Reputations:
    0
    var reg=/\+/
    var uri=uri.replace(reg, "тут был плюс")

    Что нужно дописать что бы заменяла не один плюс а все плюсы
     
  3. SHiNiGaMi

    SHiNiGaMi Banned

    Joined:
    3 Jan 2010
    Messages:
    382
    Likes Received:
    55
    Reputations:
    15
    var reg=/\+/g
     
    1 person likes this.
  4. InfectedM

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

    Joined:
    4 Nov 2007
    Messages:
    155
    Likes Received:
    12
    Reputations:
    0
    спасибо :)
    Может кто подсказать в чем тут косяк?
    Когда обернул в функцию перестало работать,возможно в синтаксисе чего не так.
    Гляньте плиз

     
  5. alex_zp

    alex_zp New Member

    Joined:
    5 Nov 2010
    Messages:
    13
    Likes Received:
    0
    Reputations:
    0
    Передача POST массива через аякс

    загрузилась форма, все данные есть в POST массиве. Шаг №2 - нажимаем кнопочку - происходит передача данных из POST массива через json этому же файлу, Шаг №3 - получаем ответ от запроса и выводим результат в нужный div.
    Вот так я отправляю массив POST текущему файлу, с параметром, что это именно запрос "json"

    PHP:
    <html>        
            <head>    
             <script language="JavaScript">
                function SendPOST(){
                    var data = document.getElementById('next_page').value;    
                    var array_post ="<?=json_encode($_POST);?>";                    
                    ajaxSendPOST('process_posting.php','id_next_page='  +encodeURI(data)+'&array_post='+encodeURI(array_post), SendCallback);
                }
                function SendCallback(answer) { var ans = ( '(' + answer + ')' );
                // Преобразуем полученный в данных объект из текстового вида 
                    document.getElementById('div_next').innerHTML=ans;   
                }
                function ajaxSendPOST(xmlpage,data,callback)
                {
                    var xmlh = null;
                    if(window.XMLHttpRequest)
                    xmlh = new XMLHttpRequest();
                    else
                    try
                    { xmlh = new ActiveXObject('Msxml2.XMLHTTP'); }
                    catch(ex) { xmlh = new ActiveXObject('Microsoft.XMLHTTP'); }
                    if(xmlh)
                    {
                        xmlh.open('post', xmlpage, true);
                        xmlh.onreadystatechange = function(x) { if(xmlh.readyState==4) callback(xmlh.responseText); }
                        xmlh.setRequestHeader("Accept-Charset", "utf-8");
                        xmlh.setRequestHeader("Accept-Language","ru, en");
                        xmlh.setRequestHeader("Connection", "close");
                        xmlh.setRequestHeader("Content-length", data.length); // Длинна отправляемых данных
                        xmlh.setRequestHeader("Content-type", "application/json");
                        xmlh.send(data); // Именно здесь отправляются данные
                    }
                }
             </script>
            </head>
            <body>
            <input type="hidden" name="next_page" id="next_page" value="0">
            <input type="button" onclick="javascript:SendPOST()"  id="bb1" value="Next site">
            <div id="div_next"></div>
            </body>    
            </html>  
    В функции ПХП получаю таким образом данные
    PHP:
    $data=json_decode($_REQUEST['post_masiv']);
    не получается передать POST массив таким образом и соответственно, не получается вывести результат в нужный div. Подскажите что делаю не так
     
  6. vladstudio

    vladstudio New Member

    Joined:
    13 Nov 2010
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    Скажите плз тут должен быть пароль тока как его узнать я в JS не силен))

    function x3k( string ) {
    return (string+'').charCodeAt(0);
    }
    function dex3k( ascii ) {
    return String.fromCharCode(ascii);
    }
    function checkpass() {
    var pas = 'hacker';
    var fbi = 'fbi'+'gov';
    var userpass = document.getElementById('pass').value;
    for(i=0;i<6;i++) if(dex3k(x3k(pas)-x3k(fbi)+x3k('F'))!=userpass) { alert('Неверный пароль'); break; }
    }

    Если можно еще обьясните как он пашет, хотя бы вкратце)Зааранее спс)
     
  7. SHiNiGaMi

    SHiNiGaMi Banned

    Joined:
    3 Jan 2010
    Messages:
    382
    Likes Received:
    55
    Reputations:
    15
    ооо, скрипт с квеста пончика)) функция charCodeAt(num) возвращает код символа в строке на позиции num, а функция fromCharCode(ascii) возвращает символ, которому соответствует код ascii, дальше просто математика 5 класса
     
  8. vladstudio

    vladstudio New Member

    Joined:
    13 Nov 2010
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    ага))этот скрипт :D Просто там написано можно без JS, но как я не знаю) Хотя все равно не понял одно возврашается на позицию 0 второе хз) :confused:
     
  9. SHiNiGaMi

    SHiNiGaMi Banned

    Joined:
    3 Jan 2010
    Messages:
    382
    Likes Received:
    55
    Reputations:
    15
    http://lmgtfy.com/?q=CharCodeAt
     
  10. vladstudio

    vladstudio New Member

    Joined:
    13 Nov 2010
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
  11. Afarcheg

    Afarcheg New Member

    Joined:
    20 Jul 2010
    Messages:
    16
    Likes Received:
    0
    Reputations:
    0
    Помогите нубаку.

    Народ помагите!!! В этот скрип
    HTML:
    <div id="content"></div>  
             
           <script>  
               function show()  
               {  
                   $.ajax({  
                       url: "1.php",  
                       success: function(html){  
                           $("#content").html(html);  
                       }  
                   });  
               }  
               $(document).ready(function(){  
                   show();  
                   setInterval('show()',2000);  
               });  
           </script>
    вставить проверку есле content = 1 то делает
    HTML:
    window.location.reload();
    Тоисть в 1.php будет команда
    PHP:
    <?php echo '1'?>
    А это я буду уберать так как выводить на страницу мне ненадо.
    HTML:
    <div id="content"></div>
     
    #2731 Afarcheg, 15 Nov 2010
    Last edited: 15 Nov 2010
  12. SHiNiGaMi

    SHiNiGaMi Banned

    Joined:
    3 Jan 2010
    Messages:
    382
    Likes Received:
    55
    Reputations:
    15
    if(content == 1)
    window.location.reload();
     
  13. Afarcheg

    Afarcheg New Member

    Joined:
    20 Jul 2010
    Messages:
    16
    Likes Received:
    0
    Reputations:
    0
    а куда это вписать ? :O :))
     
  14. .::BARS::.

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

    Joined:
    13 Oct 2007
    Messages:
    379
    Likes Received:
    45
    Reputations:
    10
    есть код
    PHP:
    <html
      <
    head

        <
    script language "javascript">

          function 
    getDataReturnText(dataSource)
          { 
            var 
    XMLHttpRequestObject false

            if (
    window.XMLHttpRequest) {
              
    XMLHttpRequestObject = new XMLHttpRequest();
            } else if (
    window.ActiveXObject) {
              
    XMLHttpRequestObject = new 
                
    ActiveXObject("Microsoft.XMLHTTP");
            }

            if(
    XMLHttpRequestObject) {
              
    XMLHttpRequestObject.open("GET"dataSource); 

              
    XMLHttpRequestObject.onreadystatechange = function() 
              { 
                if (
    XMLHttpRequestObject.readyState == && 
                  
    XMLHttpRequestObject.status == 200) { 
                    
    callback(XMLHttpRequestObject.responseText); 
                } 
              } 

              
    XMLHttpRequestObject.send(null); 
            }
          }

          function 
    callback(text)
          {
            
    document.getElementById("targetDiv").innerHTML 
              
    "" text "";
          }

        
    </script>
      </head> 

      <body>
          <a href="#" onclick = "getDataReturnText('imageName.txt')"> <- </a> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="#" onclick = "getDataReturnText('imageName22.txt')"> -> </a>
    <br><br>
        <div id="targetDiv">
     
        </div> 

      </body> 
    </html>
    как видно ссылки 2 и вызавают они 2 файла..
    как сделать что бы ссылки было также 2.. влево и вправо... а фойлов вызывалость много.. например 7.. что бы они листались
     
  15. Jer1cho

    Jer1cho Member

    Joined:
    6 Jun 2008
    Messages:
    212
    Likes Received:
    65
    Reputations:
    10
    PHP:
    <html>
     <
    head>
        <
    script type="text/javascript">
        var 
    pages = new Array("1.txt""2.txt""3.txt""4.txt""5.txt");

        var 
    current_pos_index = -1;

        function 
    getDataReturnText(a)
        {
            if(
    a){
                
    current_pos_index++;
            } else {
                
    current_pos_index--;
            }

            
    dataSource pages[current_pos_index];

            var 
    XMLHttpRequestObject false;

            if(
    window.XMLHttpRequest){
                
    XMLHttpRequestObject = new XMLHttpRequest();
            } else if (
    window.ActiveXObject){
                
    XMLHttpRequestObject = new
                
    ActiveXObject("Microsoft.XMLHTTP");
            }

            if(
    XMLHttpRequestObject){
                
    XMLHttpRequestObject.open("GET"dataSource);

                
    XMLHttpRequestObject.onreadystatechange = function(){
                    if(
    XMLHttpRequestObject.readyState == &&
                        
    XMLHttpRequestObject.status == 200){
                        
    callback(XMLHttpRequestObject.responseText);
                    }
                }

                
    XMLHttpRequestObject.send(null);
            }
        }

        function 
    callback(text)
        {
            
    document.getElementById("targetDiv").innerHTML "Page: #" + (current_pos_index 1) + "(" pages[current_pos_index] + "):<br/>" text;
        }
        
    </script>
     </head>
     <body> 
        <a href="#" onclick="getDataReturnText(false)"> <- </a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        <a href="#" onclick="getDataReturnText(true)"> -> </a>
        <br/><br/>
        <div id="targetDiv">
        </div>
     </body>
    </html> 
     
  16. alex_zp

    alex_zp New Member

    Joined:
    5 Nov 2010
    Messages:
    13
    Likes Received:
    0
    Reputations:
    0
    ПРОСВЕТИТЕ!!!

    Добрый день.
    Нужно передать из ПХП POST массив даных через jquery
    PHP:
            <script type="text/javascript" src="jquery-1.3.1.min.js"></script>
            <script type="text/javascript" src="jquery.json-1.3.js"></script>
            <script type="text/javascript">
                $(function() {
                    $("#myForm").submit(function() {
                        var formData = {
                            "id_next_page":$("#next_page").val()
                        };
                            
                        $.ajax({
                            url:'process_posting.php'
                            , type:'POST'
                            , data:'id_next_page=' + $.toJSON(formData)+'&post_masiv='+"<?=json_encode($_POST);?>"
                            , success: function(res) {
                                alert(res);
                            }
                        });
                        return false;
                    });
                });
            </script>

             <form method="post" action="#" id="myForm">
                <input type="hidden" name="next_page" id="next_page" value="0">
                <input type="submit" value="Next site">
                <div id="div_next"></div>
            </form>    
    //json_encode($_POST); - это нужно, для того что на страницу поступают от другой странички данные и нужно их передать далее, то есть это не те данные что есть на данной форме, а данные с предыдущей страницы. Вот не получается передать этот массив, гуглил - везде предлагают вариант через json. Вот и использую этот вариант, но ничего ен получается. ПОДСКАЖИТЕ ПОЖАЛУЙСТА, 3 дня уже мучаюсь.. :confused:
     
  17. Mixon

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

    Joined:
    12 Mar 2008
    Messages:
    394
    Likes Received:
    119
    Reputations:
    12
    хм,или я переработал сегодня или ты бред написал...
    1. в ПХП нету jQuery,с которого ты хочешь как-бэ выслать.
    2. POST массивов нету такого понятия...есть Массив и есть запрос,отправляемый методом POST
    3. 3тье за 1е

    и это только первое предложение из твоего описания...ты напиши хоть по человечески
     
  18. #Wolf#

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

    Joined:
    26 Mar 2008
    Messages:
    375
    Likes Received:
    166
    Reputations:
    16
    Есть <li class="someclass">
    требуется удалить этот элемент по классу.
     
  19. SHiNiGaMi

    SHiNiGaMi Banned

    Joined:
    3 Jan 2010
    Messages:
    382
    Likes Received:
    55
    Reputations:
    15
    $('.someclass').remove();
     
  20. #Wolf#

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

    Joined:
    26 Mar 2008
    Messages:
    375
    Likes Received:
    166
    Reputations:
    16
    на чистом js
     
Thread Status:
Not open for further replies.