Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.01.2011, 10:28
Новичок на форуме
Отправить личное сообщение для hurricane Посмотреть профиль Найти все сообщения от hurricane
 
Регистрация: 27.12.2010
Сообщений: 4

как передать ссылку в div
У меня есть три файла html js и php в html находится текстовое поле из которого средствами js передаётся текстовая строка в php и возвращается в виде xml в js который обновляет div в html. Я передаю в виде xml обычную текстовую строку. Но я хочу чтобы это были ссылки <a href = ''></a>. Как это можно сделать?
Ответить с цитированием
  #2 (permalink)  
Старый 13.01.2011, 10:49
Аспирант
Отправить личное сообщение для Saimon7887 Посмотреть профиль Найти все сообщения от Saimon7887
 
Регистрация: 03.02.2010
Сообщений: 37

Сложно понять алгоритм, код в студию-)!
Ответить с цитированием
  #3 (permalink)  
Старый 13.01.2011, 11:28
Новичок на форуме
Отправить личное сообщение для hurricane Посмотреть профиль Найти все сообщения от hurricane
 
Регистрация: 27.12.2010
Сообщений: 4

Это тот самый код:

html документ:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
	"http://www.w3c.org/TB/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3c.org/1999/xhtml">

	<head>
    
    	<title>
        
        	AJAX и PHP: Quickstart
            
       	</title>
        
        <script type="text/javascript" src = "quickstart.js"></script>
        
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" /></head>
    
    <body onLoad = 'process( )'>
    
    	Сервер желает узнать ваше имя:
        
        <input type = "text" id = "myName" value = "проверка" />
                
        <div id = "divMessage"/>
        
    </body>
    
</html>


js документ:
//ссылка на объект XMLHTTPRequest
	var xmlHttp = createXmlHttpRequestObject( );
	
		//создание объекта XMLHttpRequest
	function createXmlHttpRequestObject ( ) {
		
			//для хранения ссылки на объект XMLHttpRequest
		var xmlHttp;
		
			//для браузера Internet Explorer
		if ( window.ActiveXObject ) {
			
			try {
				
				xmlHttp = new ActiveXObject ( "Microsoft.XMLHTTP" );
			
			}//try {
				
			catch ( e ) {
				
				xmlHttp = false;
			
			}//catch ( e ) {
		
		}//if ( window.ActiveXObject ) {
			
			//если сценарий запущен под управлением Mozila или другого браузера
		else {
			
			try {
				
				xmlHttp = new XMLHttpRequest ( );
			
			}//try {
			catch ( e ) {
				
				xmlHttp = false;
			
			}//catch ( e ) {
			
		}//else {
			
			//возвращает созданный объект или выводит сообщение об ошибке
		if ( !xmlHttp ) {
			
			alert( "Ошибка при создании объекта XMLHttpRequest" );
		
		}//if ( !xmlHttp ) {
		else {
			
			return xmlHttp;
		
		}//else {
			
	}//function createXmlHttpRequestObject ( ) {
	
		//далее идёт выполнение асинхронного запроса HTTP с помощью объекта XMLHttpRequest
	function process ( ) {
		
		//работа возможна только если объект xmlHttp не занят
		if ( xmlHttp.readyState == 4 || xmlHttp.readyState == 0 ) {
			
			
			
				//получаем имя введённое пользователем в форму
			name = encodeURIComponent( document.getElementById( "myName" ).value );
			
			//alert ( name );
			
				//обращение к сценарию quickstart.php на сервере
			xmlHttp.open ( "GET", "quickstart.php?name=" + name, true );
			
				//определение метода, который будет обрабатывать ответы сервера
			xmlHttp.onreadystatechange = handleServerResponse;
			
				//посылается асинхронный запрос серверу
			xmlHttp.send( null );
		
		}//if ( xmlHttp.readyState == 4 || xmlHttp.readyState == 0 ) {
		else {
		
			alert ( "соединение занято" );
				
				//если соединение занято, повторить попытку через одну секунду
			setTimeout( 'process( )', 1000 );
		
		}//else {
	
	}//function process ( ) {
		
		//вызывается автоматически по прибытии сообщения от сервера
	function handleServerResponse ( ) {
		
			//продолжать можно только если транзакция с сервером завершена
		if ( xmlHttp.readyState == 4 ) {
			
				//значение 200 говорит о том, что транзакция прошла успешно
			if ( xmlHttp.status == 200 ) {
				
					//извлечь XML, полученный от сервера
				xmlResponse = xmlHttp.responseXML;
				
					//получить корневой элемент в структуре XML
				xmlDocumentElement = xmlResponse.documentElement;
				
					//извлечь текстовое сообщение, которое находится в первом дочернем элементе корневого узла
				helloMessage = xmlDocumentElement.firstChild.data;
				
					//обновить текст сообщения на экране
				document.getElementById ( "divMessage" ).innerHTML = '<i>' + helloMessage + '</i>';
				
					//повторить последовательность действий
				setTimeout ( 'process ( )', 1000 );
			
			}//if ( xmlHttp.status == 200 ) {
				
				//код статуса HTTP, отличный от 200, говорит о наличии ошибки
			else {
				
				alert ( "При обращении к серверу возникли проблемы: " + xmlHttp.statusText );
			
			}//else {
		
		}//if ( xmlHttp.readyState == 4 ) {
	
	}//function handleServerResponse ( ) {


php документ:
<?php
	
		//результат будет отправлен в формате XML
	header ( 'Content-Type: text/xml; charset = windows-1251' );
	
		//генерация заголовка XML
	echo '
	
		<?xml version = "1.0" encoding = "windows-1251" standalone = "yes" ?>
		
		<response>
	
	';//echo '
	
	$name = iconv ( "utf-8", "windows-1251", $_GET[name] );
		
		//генерация текста сообщения в зависимости от имени пользователя принятого от клиента	
	if ( trim ( $name ) == "санёк" ) {
		
		echo "
		
			Здравствуйте, мистер $name !
		
		"; //echo "
	
	}//if ( in_array (strtoupper ( $name ), $userNames ) ) {
	else if ( trim ( $name ) == '' ) {
		
		echo "
		
			Скажи мне, как зовут тебя, незнакомец!
		
		";//echo "";
	
	}//else if ( trim ( $name ) == '' ) {
	else {
		
		$massiv = array ( "Один", "Два", "Три", "Четыре", "Пять", "Шесть", "Семь", "Восемь", "Девять", "Десять");
		
		foreach ( $massiv as $key => $znachenie ) {
		
			echo "
											
				$name, вы мне не знакомы!
			
			";//echo '
		
		}//foreach ( $massiv as $key => $znachenie ) {
	
	}//else {
		
	echo "
	
		</response>
	
	";//echo "

?>
Ответить с цитированием
  #4 (permalink)  
Старый 15.01.2011, 00:07
Новичок на форуме
Отправить личное сообщение для Fenjmen51 Посмотреть профиль Найти все сообщения от Fenjmen51
 
Регистрация: 29.08.2010
Сообщений: 9

Из данного кода сути понять мне не удалось, но осмелюсь предположить:

- либо Вы хотите передать ссылку Аяксом, тогда формируйте php документ с этой самой ссылкой в ответ и её вставляйте в текст страницы

- либо Вы хотите передать с сервера текстом href и вставить у клиента его ввиди ссылки, тогда:

обработайте ответ перед вставкой:

$вставка = '<a href=\"'+$ответ_сервера+'.php\">$за оловок (тоже ответ с сервера, например)</a>'

И по поводу кода вообще, Вы уверены что перебор именно так делается, если это реальный кода, есть смысл сделать на базе данных или..

Это отдельный вопрос, как сделать лучше я не знаю, просто что-то подсказывает, что всё втюхивать в бедную страничку - не дело!

Но я сам на форум зашёл за ответами, следовательно полный ноль в программирование! Очень вероятно совсем не уловил сути Вашего сложного вопроса

Тогда поясните мне, чего точно желаете получить?

Последний раз редактировалось Fenjmen51, 15.01.2011 в 00:09. Причина: опечатки
Ответить с цитированием
  #5 (permalink)  
Старый 15.01.2011, 15:24
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

передавай данные, а разметку генерируй на клиентской стороне

не понятно, зачем тут нужен xml

периодическое обновление странички с помощью xmlhttprequest... а память не течет?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как передать параметры из дочернего окна в родительское с задержкой? javascript_pupil Общие вопросы Javascript 15 23.11.2010 21:42
Как передать значения Alenkaa Events/DOM/Window 21 20.07.2010 12:56
узнать координаты div и передать их в переменную dschmitz Events/DOM/Window 8 16.03.2010 13:27
Как в ajax запросе передать файл методом POST mcpro jQuery 1 16.12.2009 11:41
Передать ссылку micscr Opera, Safari и др. 3 16.11.2009 01:30