Привет. Я пытаюсь создать простую регистрационную форму с проверкой AJAX. У меня форма работает почти так, как мне бы хотелось ... на странице появляется сообщение с ошибками для каждого поля, введенного неправильно.
Проблема в том, что все сообщения об ошибках появляются в одном div вместе, и я хотел бы, чтобы каждое поле имело свой div, содержащий только свою собственную ошибку.
Я думаю, что мне нужно обернуть мои сообщения об ошибках в XML и использовать что-то вроде этого -
document.getElementById("feedback1").innerHTML= xmlDoc.getElementsByTagName("lname")[0].childNodes[0].nodeValue;
- но не могу заставить его работать
Кто-нибудь знает, как мне изменить свой код, чтобы сделать это?
Вот мой источник, содержащий 3 файла, которые я сейчас использую - http://www.cultivatedesigns.ca/Uploads/ajax-validation.zip
А вот мой код только для моей страницы ajax.
var xmlHttp;
function regForm(thisform) {
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null) {
alert ("Browser does not support HTTP Request");
return;
}
var formdata = "";
formdata = "lname=" + thisform.elements['lname'].value + "&fname=" + thisform.elements['fname'].value + "&email=" + thisform.elements['email'].value + "&username=" + thisform.elements['username'].value + "&pass=" + thisform.elements['pass'].value + "&pass2=" + thisform.elements['pass2'].value;
xmlHttp.onreadystatechange=formSubmitted;
xmlHttp.open("POST", "adduser.php",true);
xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xmlHttp.setRequestHeader("Content-length", formdata.length);
xmlHttp.setRequestHeader("Connection", "close");
xmlHttp.send(formdata);
return false;
}
function formSubmitted() {
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") {
xmlDoc=xmlHttp.responseXML;
document.getElementById("feedback").innerHTML = xmlHttp.responseText;
//document.getElementById("feedback1").innerHTML= xmlDoc.getElementsByTagName("lname")[0].childNodes[0].nodeValue;
}
}
function GetXmlHttpObject() {
xmlHttp=null;
try
{
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}
Спасибо за любую помощь!