Добрый вечер, недавно начал изучать 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="">
то страница перезагружается и ничего не происходит все равно.
Прошу помочь мне разобраться в этом, всем заранее спасибо.