Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: ответ сервера в несколько дивов (ajax)
 
 автор: ronin   (05.11.2008 в 11:00)   письмо автору
 
 

Здравствуйте!
аджакс обращаеться к php файлу, ответ ложиться сюда:

document.getElementById("url").innerHTML = (req.responseText);

и ввыводиться в диве "url"
Проблема:
в php-файле информация дает три переменных, возможно ли их кидать в три разных дива?

  Ответить  
 
 автор: parczynski   (05.11.2008 в 11:13)   письмо автору
 
   для: ronin   (05.11.2008 в 11:00)
 

ну так ведь XML, поэтому и ajaX, чтобы многа многа переменных передавать

  Ответить  
 
 автор: ONYX   (05.11.2008 в 11:27)   письмо автору
 
   для: ronin   (05.11.2008 в 11:00)
 

ну вот, вы возьмите свою инфу из переменных соедините её поставив разделитель между блоками, а потом у клиента распарсите и расфасуйте по нужным вам дивам

  Ответить  
 
 автор: ronin   (05.11.2008 в 18:35)   письмо автору
 
   для: ONYX   (05.11.2008 в 11:27)
 

я делаю так:
сервер:

$text=$description."\n".$content."\n".$url."\n";

аякс:

  document.getElementById("txt").innerHTML = (req.responseText);

клиент:
нашел такой Ваш скриптик, не знаю может его можно привинтить

<div id="txt">&nbsp;
<script language="JavaScript">
fucntion explode(txt){
 txt = txt.split('\n');
 html = ''
 for(i=0; i<txt.length; i++){
 row = txt[i].split('|')

 return html;
}
}
</script>
</div>

в этот див информация падает, но как ее разбить на переменные или дивы?

  Ответить  
 
 автор: GeorgeIV   (05.11.2008 в 18:55)   письмо автору
 
   для: ronin   (05.11.2008 в 18:35)
 

Разбивать надо req.responseText и уже эти разбитые части совать в дивы

  Ответить  
 
 автор: ronin   (05.11.2008 в 19:29)   письмо автору
 
   для: GeorgeIV   (05.11.2008 в 18:55)
 

прошу просветить так как для меня это темный лес

  Ответить  
 
 автор: GeorgeIV   (06.11.2008 в 10:27)   письмо автору
 
   для: ronin   (05.11.2008 в 19:29)
 

так примени explode к ответу, до того как ответ в див засунул. А потом в нужные дивы засовываешь нужные части ответа.

$ansv = explode("\n", req.responceText);
document.getElementById("description").innerHTML = $answ[0]; 
document.getElementById("content").innerHTML = $answ[1]; 
document.getElementById("url").innerHTML = $answ[2]; 


Соответственно должны существовать три дива.

  Ответить  
 
 автор: ronin   (06.11.2008 в 12:02)   письмо автору
 
   для: GeorgeIV   (06.11.2008 в 10:27)
 

не, не работает,
я неспецилист по ява-скриптам, но меня смущают переменные php в коде $.
Я тут на форуме ишу варианты скорее нужно split

  var resp=req.responseText;
          answ =  resp.split("\n");
document.getElementById("description").innerHTML = answ[0];
document.getElementById("content").innerHTML = answ[1];
document.getElementById("url").innerHTML = answ[2];

если для пробы заменить var resp=req.responseText;
на var resp='1\n2\n3\n';
все работает.

  Ответить  
 
 автор: ronin   (06.11.2008 в 12:51)   письмо автору
 
   для: ronin   (06.11.2008 в 12:02)
 

нашел причину: надо было другой разделитель:

resp.split("|");

соответственно в php-файле:

$text=$description."|".$content."|".$url;
echo $text;

ЗАБЫЛ ПОБЛАГОДАРИТЬ GeorgeIV и других, кто направил на правильный путь!

  Ответить  
 
 автор: GeorgeIV   (06.11.2008 в 15:30)   письмо автору
 
   для: ronin   (06.11.2008 в 12:51)
 

Надо было использовать в функции "\\n", сам только что наступил на эти грабли

  Ответить  
 
 автор: ronin   (07.11.2008 в 10:41)   письмо автору
 
   для: GeorgeIV   (06.11.2008 в 15:30)
 

:) точно, вопрос еще как все это вставить не в див а в input

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования