Показать сообщение отдельно
  #1 (permalink)  
Старый 09.04.2011, 21:19
Интересующийся
Отправить личное сообщение для martinss Посмотреть профиль Найти все сообщения от martinss
 
Регистрация: 29.12.2010
Сообщений: 24

Проблема при передаче запроса POST
Добрый вечер, недавно начал изучать AJAX и столкнулся с проблемой, решение которой не могу найти ни где..:
проблема с отправкой формы методом POST:


вот форма:

<input type="text" name="username" id="uname"/>
<input type="text" name="email" id="email"/>
<input type="text" name="login" id="lgn"/>
<input type="submit" value=" Отправить " id="aj_submit" onclick="reg()"/>
<input type="hidden" name="do" value="register" />


сразу вопрос (нужно ли добавлять теги <form method="post" action="">)?

вот скрипт AJAX:
function getXmlHttp(){
		var xmlhttp;
		try{
			xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
		} 
		catch(e){
			try {
				xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
			} 
			catch(E){
				xmlhttp = false;
			}
		}
		if(!xmlhttp && typeof XMLHttpRequest!='undefined'){
			xmlhttp = new XMLHttpRequest();
		}
		return xmlhttp;
	}

	function reg(){
		var req = getXmlHttp();
		var statusElem = document.getElementById('reg_status');
		req.onreadystatechange = function(){  
			// onreadystatechange активируется при получении ответа сервера
			if (req.readyState == 4){ 
				// если запрос закончил выполняться
				statusElem.innerHTML = req.statusText; // показать статус (Not Found, ОК..)
				if(req.status == 200){ 
					 // если статус 200 (ОК) - выдать ответ пользователю
					//alert("Ответ сервера: "+req.responseText);
					document.getElementById("basic-modal-content").innerHTML = req.responseText;
				}
				// тут можно добавить else с обработкой ошибок запроса
			}
		}
		// (3) задать адрес подключения
		var params = 'username=' + encodeURIComponent(username) + '&email=' + encodeURIComponent(email) + '&login=' + encodeURIComponent(login) + '&do=' + encodeURIComponent(do);
		req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		req.open("POST", 'inc/register_ajax.php', true);  
		// объект запроса подготовлен: указан адрес и создана функция onreadystatechange
		// для обработки ответа сервера
		req.send();  // отослать запрос
	}



Форма вообще не отправляется.
А если обернуть инпуты в тег
<form method="post" action="">

то страница перезагружается и ничего не происходит все равно.

Прошу помочь мне разобраться в этом, всем заранее спасибо.
Ответить с цитированием