Hi I'm trying to create a simple registration form with ajax validation. I've got the form working almost how I'd like... a message appears on the page with the errors for each field entered incorrectly.
The problem is all the error messages appear in one div together and I would like to have each field have its own div containing only its own error.
I think I need to wrap my error messages in xml and use something like this -
document.getElementById("feedback1").innerHTML= xmlDoc.getElementsByTagName("lname")[0].childNodes[0].nodeValue;
- but can't seem to get it working
Does anyone know how I should modify my code to do this?
Here is my source containing the 3 file I'm currently using - http://www.cultivatedesigns.ca/Uploads/ajax-validation.zip
And Here is my code for my ajax page only.
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-for开发者_运维知识库m-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;
}
Thanks for any help!
found out my problem it was just that my errors weren't being wrapped in an xml parent tag.
I so I had something like this
echo "<fname> </fname>";
echo "<lname> </lname>";
And It should have been like this.
echo "<errors>";
echo "<fname> </fname>";
echo "<lname> </lname>";
ehco "</errors>"
精彩评论