Ajax 表单验证帮助
嗨,我正在尝试使用ajax验证创建一个简单的注册表单。我已经让表格按我所希望的方式工作了。。。页面上会出现一条消息,其中包含错误输入的每个字段的错误 问题是所有的错误消息一起出现在一个div中,我希望每个字段都有自己的div,其中只包含自己的错误 我想我需要用xml来包装我的错误消息,并使用类似这样的东西-Ajax 表单验证帮助,ajax,validation,forms,Ajax,Validation,Forms,嗨,我正在尝试使用ajax验证创建一个简单的注册表单。我已经让表格按我所希望的方式工作了。。。页面上会出现一条消息,其中包含错误输入的每个字段的错误 问题是所有的错误消息一起出现在一个div中,我希望每个字段都有自己的div,其中只包含自己的错误 我想我需要用xml来包装我的错误消息,并使用类似这样的东西- document.getElementById("feedback1").innerHTML= xmlDoc.getElementsByTagName("lname")[0].childNo
document.getElementById("feedback1").innerHTML= xmlDoc.getElementsByTagName("lname")[0].childNodes[0].nodeValue;
-但似乎无法让它工作
有人知道我应该如何修改代码来做到这一点吗
这是我的源代码,包含我当前使用的3个文件-
这是我的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;
}
谢谢你的帮助 发现了我的问题,只是我的错误没有包装在xml父标记中 我所以我有了这样的东西
echo "<fname> </fname>";
echo "<lname> </lname>";
echo”“;
回声“;
应该是这样的
echo "<errors>";
echo "<fname> </fname>";
echo "<lname> </lname>";
ehco "</errors>"
echo”“;
回声“;
回声“;
ehco“
我可以推荐您使用jQuery或其他JS框架吗?这会让你的生活更轻松。你试过调试你的Javascript吗?尝试通过Firebug运行它,并告诉我们您遇到了哪些错误。