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

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

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

    manofsoul1986 New Member

    Joined:
    7 Jan 2010
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    Да, для накрутки, интересный ответ, буду думать в этом направлении!
     
  2. Serrg

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

    Joined:
    25 Dec 2011
    Messages:
    85
    Likes Received:
    15
    Reputations:
    13
    сделаю позже, может 31.. Сейчас нету времени !
     
  3. RazyKK

    RazyKK Member

    Joined:
    9 Feb 2009
    Messages:
    127
    Likes Received:
    16
    Reputations:
    4
    можно ли через innerHTML выполнить скрипт?
     
  4. Melfis

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

    Joined:
    25 Apr 2011
    Messages:
    505
    Likes Received:
    105
    Reputations:
    53
    Code:
    document.getElementsByTagName('body')[0].innerHTML = '<img src="http://asdasdasdklashdkajsd.ru/asdasd.php" onError="alert(123)" />'
    Вариантов море
     
  5. VY_CMa

    VY_CMa Green member

    Joined:
    6 Jan 2012
    Messages:
    917
    Likes Received:
    492
    Reputations:
    724
    Code:
    <script>
    	var div = document.getElementById("test");
    	var newDiv = document.createElement('script');
    	newDiv.innerHTML = 'alert("1");';
    	div.appendChild(newDiv)
    </script>
    Самый простой пример
     
    _________________________
    1 person likes this.
  6. RazyKK

    RazyKK Member

    Joined:
    9 Feb 2009
    Messages:
    127
    Likes Received:
    16
    Reputations:
    4
    алерт вылетел,только как <script src=http://ya.ru/1.js></script> вставить?
    _____________
    var div = document.getElementById("mydivid");
    var newDiv = document.createElement('script');
    newDiv.innerHTML = '<script src=1.js></script>';
    div.appendChild(newDiv)

    в 1.js написал alert("1");
    алерта нет. что не так?
    _________________
    Melfis алерт вылетает ,если вставляю script src не срабатывает. напишите вариант с script scr pls
     
    #3486 RazyKK, 8 Aug 2012
    Last edited: 8 Aug 2012
  7. Cowboyl0l

    Cowboyl0l New Member

    Joined:
    19 Nov 2011
    Messages:
    31
    Likes Received:
    1
    Reputations:
    0
    есть html форма нужно добавить стрелки влево и право, которые меняли значение формы(name), изначально например 0,нажал вправо стрелку стало 1, ешё стало 2... Спасибо
     
  8. VY_CMa

    VY_CMa Green member

    Joined:
    6 Jan 2012
    Messages:
    917
    Likes Received:
    492
    Reputations:
    724
    Code:
    <div id="test"></div>
    <script>
    	var div = document.getElementById("test");
    	var newDiv = document.createElement('script');
    	newDiv.src = 'script.js';
    	div.appendChild(newDiv)
    </script>
    Демонстрация вставки стороннего скрипта

    Cowboyl0l,
    Предположим есть текстовое поле с id="text", тогда:
    Code:
    <input type="text" id="text" onkeydown="test(event)" value="0">
    <script> 
    function test(e){ 
    var selector = document.getElementById("text"); 
    if(e) {
    if(e.keyCode == 37) selector.value--; 
    if(e.keyCode == 39) selector.value++; 
    } 
    } 
    </script>
    Добавил живой пример тут
    Данный способ проверял в FF, Chrome, в других браузерах коды клавиш могут быть другие (особенно в опере)
     
    _________________________
    #3488 VY_CMa, 9 Aug 2012
    Last edited: 9 Aug 2012
  9. Cowboyl0l

    Cowboyl0l New Member

    Joined:
    19 Nov 2011
    Messages:
    31
    Likes Received:
    1
    Reputations:
    0

    спасибо но хотелось бы чуть другое..
    http://clip2net.com/clip/m0/1344510165-clip-2kb.png
     
  10. VY_CMa

    VY_CMa Green member

    Joined:
    6 Jan 2012
    Messages:
    917
    Likes Received:
    492
    Reputations:
    724
    Cowboyl0l, так в чем проблема =)

    Code:
    <input type="text" id="text" onkeydown="test(event)" value="0"><br />
    <input type="button" value="<<" onclick="cl('minus')"><input type="button" value=">>" onclick="cl('plus')">
    <script>
    	document.getElementById("text").focus();
    	var selector = document.getElementById("text");
    	function test(e){
    		if(e)
    		{
    			if(e.keyCode == 37)
    				selector.value--;
    			if(e.keyCode == 39)
    			selector.value++;
    		}
    	}
    	function cl(e){
    		
    		if(e==='minus')
    			selector.value--;
    		if(e==='plus')
    			selector.value++;
    	
    	}
    </script>
    Обновленное демо
     
    _________________________
  11. Cowboyl0l

    Cowboyl0l New Member

    Joined:
    19 Nov 2011
    Messages:
    31
    Likes Received:
    1
    Reputations:
    0
    подскажите код на js что бы открывал в новом окне НО не переводит туда браузер, как на активную закладку, мне нужно что бы ссылка открылась отдельно и браузер остался на старой
    странице
    Спасибо)
     
  12. RazyKK

    RazyKK Member

    Joined:
    9 Feb 2009
    Messages:
    127
    Likes Received:
    16
    Reputations:
    4
    VY_CMa спс
    еще вопрос почему если этот код:

    var div = document.getElementById("test");
    var newDiv = document.createElement('script');
    newDiv.src = 'script.js';
    div.appendChild(newDiv)


    записать в js файл и выводить его через scrpt scr, то не срабатывает?
     
  13. VY_CMa

    VY_CMa Green member

    Joined:
    6 Jan 2012
    Messages:
    917
    Likes Received:
    492
    Reputations:
    724
    Скорее всего потому, что DOM дерево во время инициализации еще не сформировано, попробуй воткнуть скрипт в конец, и желательно вставить проверку на готовность ДОМ-дерева
     
    _________________________
  14. RazyKK

    RazyKK Member

    Joined:
    9 Feb 2009
    Messages:
    127
    Likes Received:
    16
    Reputations:
    4
    скрипт в др место воткнуть не могу. Без изменеия местоположения скрипта проверка дом дерева поможет?
     
  15. mff

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

    Joined:
    12 Mar 2008
    Messages:
    2,074
    Likes Received:
    701
    Reputations:
    227
    Не уходят данные из формы в php через ajax. Помогите с сабжем. Вот такой код написал:

    Code:
    function send_order(){
    
    var data = 'name=' + encodeURIComponent(phone.value) + '&phone=' + encodeURIComponent(phone.value);	
    	
    	var xmlhttp;
    	if(window.XMLHttpRequest){
    		// для IE7+, Firefox, Chrome, Opera, Safari
     		xmlhttp=new XMLHttpRequest();
      	}
    	else{
     		// для IE6, IE5
    		xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    	}
    	xmlhttp.onreadystatechange=function(){
    		if(xmlhttp.readyState==4){
    			document.getElementById("order_window").innerHTML=xmlhttp.responseText;
    
      		}
    	}
    
    	xmlhttp.open('GET', 'http://site.ru/engine/data.php?fu=send_order', true);
    	xmlhttp.send(data);
    }
    Обработчик:
    PHP:
    <?php
    if($_GET['fu']=="send_order"){        
    $message=iconv("UTF-8""Windows-1251"'
    <html>
    <head>
    <title>Онлайн заявка с сайта</title>
    </head>
    <body>
    <p>
    <h3>Онлайн заявка на ремонт</h3>
    <i>Ф. И. О.</i> '
    .$name.'<br />
    <i>Контактный телефон</i> '
    .$phone.'<br />
    </p>
    </body>
    </html>'
    );

        
    $subject iconv("UTF-8""Windows-1251""Онлайн заявка с сайта");
        
    $from $email;
        
    $to iconv("UTF-8""Windows-1251"'онлайн робот <[email protected]>');
        
    $headers  'MIME-Version: 1.0' "\r\n";
        
    $headers .= 'Content-type: text/html; charset=Windows-1251' "\r\n";
        
    $headers .= 'To: '.$to.'' "\r\n";
        
    $headers .= 'From: '.$from.'' "\r\n";
        
    mail($to'Заявка на ремонт'$message$headers);

        
        echo 
    "Ваша заявка принята! Ожидайте звонка от мастера.";
    }
    ?>
    Странно, почему не работает, ведь все же правильно :(
     
  16. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    mff 1) Почему указан метод GET, а передаете POST-запрос.
    2) У вас включен register_globals? Иначе все переменные типа $name, $phone - не определены.
    3) Внутри яваскрипта - определена ли переменная phone.value
    4) Домен на котором запускается скрипт и домен на который отправляется запрос - один и тот же?
     
    _________________________
    1 person likes this.
  17. mff

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

    Joined:
    12 Mar 2008
    Messages:
    2,074
    Likes Received:
    701
    Reputations:
    227
    Gifts, здравствуйте! Я пробовал и GET и POST :
    Code:
    xmlhttp.open('POST', 'http://site.ru/engine/data.php?fu=send_order', true);
    Я пробовал писать и так:
    $_POST['name']
    $_POST['phone']
    $_GET['name']
    $_GET['phone']
    php их не видит.

    Если можно, тут чуть подробнее :eek: В форме есть код:
    Code:
    <input type="text" name="name" id="name"  />
    <input type="text" name="phone" id="phone"  />
    Да.
     
  18. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    mff
    Code:
    	xmlhttp.open('POST', 'http://site.ru/engine/data.php?fu=send_order', true);
    	xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
    	xmlhttp.send(data);
    
    Используйте $_POST['phone'] чтобы получить значения в php-скрипте

    Также обратите внимание, что в коде у вас дважды использовано phone.value.

    И вместо прямого вызова phone.value рекомендуется использовать document.getElementById('phone').value
     
    _________________________
  19. mff

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

    Joined:
    12 Mar 2008
    Messages:
    2,074
    Likes Received:
    701
    Reputations:
    227
    Gifts, да была ошибка с повтором phone.value. Дело в том что я пробовал просто написать
    Code:
    phone=123
    не помогало. Тут не работает эта строка:
    Code:
    xmlhttp.send(data);
    как мне кажеться.
    Сделал чуть подругому через GET запрос:
    Code:
    	xmlhttp.open('GET', 'http://site.ru/engine/data.php?fu=send_order&' + data + '', true);
    	xmlhttp.send(null);
    Спасибо за помощь!
     
    #3499 mff, 11 Aug 2012
    Last edited: 11 Aug 2012
  20. Кишин

    Кишин New Member

    Joined:
    5 Jul 2011
    Messages:
    42
    Likes Received:
    0
    Reputations:
    0
    Регулярные выражения. замена символов

    Здраствуйте уважаемые знатоки javascript технологий. =)
    Вот есть такой скрипт:
    HTML:
    <script language="JavaScript">
          var str="Регулярные выражения"; // Где ишем.
          var reg=/р/g; // Ищем букву "р" в str
          var result=str.replace(reg, "R"); // Заменяем на "R"  
        document.write(result); // На выходе "РегуляRные выRажения" 
     </script>
    
    Он заменяет одну букву в слове "Регулярные выражения" на другую грубо говоря,
    однако проблема в том что он заменяет только одну какую нить букву на другую, а если у меня есть несколько букв которые нужно заменить.. как поступить как переписать код, я думал может как нибудь использовать масив и там как то сделать.. но не вышло. =(
    В скрипте я написал комментарии.
    Подскажите как зделать?
    спасибо :)
     
Thread Status:
Not open for further replies.