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

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

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

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

    Joined:
    30 Aug 2007
    Messages:
    837
    Likes Received:
    267
    Reputations:
    59
    Хороший вопрос. После непродолжительного исследования получилось следующее:
    PHP:
     ---
    <
    script type="text/javascript">
    var 
    info '123';
    document.location.href='data:text/html;,\
    <body onload="document.forms[0].submit()">\
    <form method="POST" action="http://2ip.ru">\
    <input name="info" type="text" value="' 
    info '" />\
    </form>'
    </script>
     ---
    Так можно скрыть реферер в Опере и FF. IE не понимает схемы "data:", для него можно создать окно и в нём - форму.
     
    1 person likes this.
  2. bot

    bot New Member

    Joined:
    27 Dec 2005
    Messages:
    7
    Likes Received:
    1
    Reputations:
    0
    Спасибо, конечно, за ответ, но не прокатило в 7 опере, не знаю как в других.. Пишет: тип адреса неизвестен или не поддерживается.
    Блин, уже вторая неделя пошла, как я мучаю эту тему..
     
  3. astrologer

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

    Joined:
    30 Aug 2007
    Messages:
    837
    Likes Received:
    267
    Reputations:
    59
    7 версия? Конечно же, не поддерживает. Она, вроде, 2003 года выпуска.
    Делай выводы сам:http://stat.yandex.ru/stats.xml
    -----------------------------------
    Впрочем, можно же сделать так:
    Code:
    <script type="text/javascript">
    
    document.location = "javascript:'<body onload=\"document.forms[0].submit()\">\
    <form method=\"POST\" action=\"http://2ip.ru\">\
    <input name=\"smth\" type=\"text\" value=\"123\" />\
    </form>\
    </body>'";
    
    </script>
    Это проверено и работает в IE6, FF, Opera 9.
    И должно работать во всех браузерах, которые поддерживают псевдо-протокол "javascript:"
    Активно же ты ищешь решение ;)
     
    #163 astrologer, 3 Dec 2007
    Last edited: 3 Dec 2007
  4. gibson

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

    Joined:
    24 Feb 2006
    Messages:
    391
    Likes Received:
    247
    Reputations:
    88
    ну сделать выпадающее меню и рядом галочку, при нажатии на нее нужно чтобы опять появилось выпадающее меню и так не более десяти раз. Плз помогите написать что то типо этого
    Желательно, чтобы выводилось что было выбрано.
     
  5. bot

    bot New Member

    Joined:
    27 Dec 2005
    Messages:
    7
    Likes Received:
    1
    Reputations:
    0
    Вот за это решпект ))

    Вообще, мне редко кто помагал, вопросы часто задаю, а до ответов, как правило, приходилось самому догонять. Большое человеческое шпасибо!
     
    #165 bot, 5 Dec 2007
    Last edited: 5 Dec 2007
  6. astrologer

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

    Joined:
    30 Aug 2007
    Messages:
    837
    Likes Received:
    267
    Reputations:
    59
    gibson, если я правильно понял:
    Code:
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    
    <script type="text/javascript">
    <!--
    
    function choose(e) {
    	if(!e.options[e.selectedIndex].value) return;
    
    	var list = document.getElementById('selected'),
    	li = document.createElement('li'),
    	txt = document.createTextNode(e.options[e.selectedIndex].value);
    
    	li.className = (list.lastChild && list.lastChild.className == 'dark') ? 'light' : 'dark'; // Stuff
    	li.appendChild(txt);
    	list.appendChild(li);
    	e.selectedIndex = 0;
    
    	if(list.getElementsByTagName('li').length > 9) e.parentNode.removeChild(e);	
    }
    
    //-->
    </script>
    
    <style type="text/css">
    <!--
    
    #selected { padding: 0 3px; width: 150px; margin-left:20px; }
    #selected li { padding: 0 3px; }
    #selected li.dark { background-color: #EFEFEF; }
    #selected li.light { background-color: #FAFAFA; }
    
    //-->
    </style>
    </head>
    <body>
    
    	<select onchange="choose(this)">
    		<option value=""></option>
    		<option value="Значение 1">Элемент 1</option>
    		<option value="Значение 2">Элемент 2</option>
    		<option value="Значение 3">Элемент 3</option>
    		<option value="Значение 4">Элемент 4</option>
    		<option value="Значение 5">Элемент 5</option>
    		<option value="Значение 6">Элемент 6</option>
    		<option value="Значение 7">Элемент 7</option>
    		<option value="Значение 8">Элемент 8</option>
    		<option value="Значение 9">Элемент 9</option>
    		<option value="Значение 10">Элемент 10</option>
    	</select>
    
    	<ol type="1" id="selected">
    	</ol>
    
    </body>
    </html>
    
    Точно работает в IE6, Opera 9, Safari, FF 2.0...
     
    1 person likes this.
  7. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,193
    Reputations:
    252
    Хек....
    Надо сделать переход на прошлую страницу по аяксу...
    Т.е.
    на главной странице есть новость, по нажатию на которую будет переход конкретно к ней(но не как обычно через гет), а по аяксу...
    Так вот из этой новости надо сделать кнопку назад, так чтобы она на прошлую страницу вернулась...
    Обычный javascript: history.go(-1) не работает т.к. переход у нас по аяксу..
    так вот предложите что-нибудь...
     
  8. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,193
    Reputations:
    252
    sys(64), сам проверь....
     
  9. Digimortal

    Digimortal Banned

    Joined:
    22 Aug 2006
    Messages:
    471
    Likes Received:
    248
    Reputations:
    189
    >> на главной странице есть новость, по нажатию на которую будет переход конкретно к ней(но не как обычно через гет), а по аяксу...

    "переход по аяксу" это как? )
     
  10. Macro

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

    Joined:
    11 Nov 2006
    Messages:
    552
    Likes Received:
    298
    Reputations:
    207
    Это когда в одну страничку средствами ajax подгружается другая.
     
  11. astrologer

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

    Joined:
    30 Aug 2007
    Messages:
    837
    Likes Received:
    267
    Reputations:
    59
    Isis,
    Суть в том, чтобы привести ссылки к такому виду: http://site.com#smth
    И javascript может считать всё, что идёт после знака "#" из document.location.hash
    Таким образом можно не только реализовать возможность вернуться на предыдущую страницу,
    но и дать ссылку на ajax-сформированную страницу другому человеку.
    Поисковые боты, правда, всё равно пролетают.
    Такой подход используется во многих js-библиотеках.

    Если размер подгружаемого контента не очень большой, то я сделал бы проще:
    Содержимое страницы сохраняется в блоке-контейнере (div), который скрывается при загрузке нового материала (style.display).
    На его месте создаётся новый блок, в который подгружается информация.
    И вся работа кнопок назад/вперед будет только в том, чтобы показывать и скрывать эти div'ы.
     
  12. eXp

    eXp Member

    Joined:
    6 Nov 2007
    Messages:
    13
    Likes Received:
    6
    Reputations:
    4
    Использую PHP - библиотеку xajax. Все нормально работает, кроме js-функции getFormValues() - она возвращает пустой объект.
    Вот html-код формы:
    Code:
    <TABLE>
    <FORM id="Form" name="Form" onsubmit="return false">
    
    <TR>
    <TD>
    <TABLE align=center>
    
    
    <TR>
    <TD valign=top>lol</TD>
    <TD><input type="text" name="lol" value="lol" SIZE=27></TD>
    
    <TR><TD></TD>
    <TD><input type="submit" name="submit" value="Отправить" onclick="xajax_func_config(xajax.getFormValues('Form')); return false;">
    </TD>
    </TABLE>
    </TD>
    </FORM>
    </TABLE>
    
    В чем могут быть проблемы?
     
  13. astrologer

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

    Joined:
    30 Aug 2007
    Messages:
    837
    Likes Received:
    267
    Reputations:
    59
    eXp, у тебя ни один "<tr>" не закрыт.
    Code:
    <table>
     <form id="Form" name="Form" onsubmit="return false">
      <table align='center'>
    	<tr><td>
    		<input type="text" name="lol" value="lol" size='27'>
    	</td></tr>
    	<tr><td>
    		<input type="submit" name="submit" value="Отправить" onclick="xajax_func_config(xajax.getFormValues('Form')); return false;">
    	</td></tr>
      </table>
     </form>	
    </table>
     
  14. eXp

    eXp Member

    Joined:
    6 Nov 2007
    Messages:
    13
    Likes Received:
    6
    Reputations:
    4
    astrologer, это никак не влияет на форму...
    я поставил везде </tr> - все равно не работает (

    ps проблема решена ) глюк в том, что я разместил <form> после <table>


    еще вопрос: какой функцией получить разрешение экрана?
     
    #174 eXp, 7 Dec 2007
    Last edited: 7 Dec 2007
  15. astrologer

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

    Joined:
    30 Aug 2007
    Messages:
    837
    Likes Received:
    267
    Reputations:
    59
    Если не закрывать теги, то наверняка что-нибудь работать не будет. Не обязательно в данном случае.
    window.screen.height
    window.screen.width
     
  16. Digimortal

    Digimortal Banned

    Joined:
    22 Aug 2006
    Messages:
    471
    Likes Received:
    248
    Reputations:
    189
    тогда это "переходом" назвать никак нельзя.. )
     
  17. Dunsparce

    Dunsparce New Member

    Joined:
    24 Nov 2007
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    СилкО
    Вот по етой силке,у меня есть пункти типу меню.Я б хотел как то зделать чтоби они били по левому краю вировнены.А ище зделать чтоби ети подсказки били над курсором
     
  18. XopoIII

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

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

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

    Joined:
    29 Oct 2007
    Messages:
    386
    Likes Received:
    30
    Reputations:
    0
    window.open('firth.php','game','scrollbars,resizable,width=100%,height=100%');

    высота и ширина же 100% почему непашет=(
     
  20. eXp

    eXp Member

    Joined:
    6 Nov 2007
    Messages:
    13
    Likes Received:
    6
    Reputations:
    4
    Опять проблемы с xajax =\
    В Опере и FF все работает, а вот в IE почему-то ответ сервера не обрабатывается.
    Включал debug - ответ возвращается без ошибок, но не обрабатывается, т.е. команды, описанные в ответе, не выполняются.

    В чем могут быть проблемы?
     
Thread Status:
Not open for further replies.