Html 应用AJAX后表单字段返回null

Html 应用AJAX后表单字段返回null,html,ajax,forms,jsp,validation,Html,Ajax,Forms,Jsp,Validation,我最近使用AJAX将表单验证应用于我的用户注册表单。以前,我只使用javascript验证表单字段,效果很好。但是在应用AJAX之后,表单字段在提交表单后返回“null”值。这是我在用户注册表中的代码: <table> <tr> <td width="362" style = "font-size:26px;font-family:'Trebuchet MS', Arial, Helvetica, sans-serif;color:black">&

我最近使用AJAX将表单验证应用于我的用户注册表单。以前,我只使用javascript验证表单字段,效果很好。但是在应用AJAX之后,表单字段在提交表单后返回“null”值。这是我在用户注册表中的代码:

<table>
  <tr>
    <td width="362" style = "font-size:26px;font-family:'Trebuchet MS', Arial, Helvetica, sans-serif;color:black"><b>Create an Account</b></td>
  </tr>
  <form action = "create_user.jsp" method = "post" name = "form1">
    <tr>
      <td><input type = "text" class = "border" id = "nm1" placeholder = "Name" onblur="validate('nm',this.value);" />
      <span id="nm"></span></td>
    </tr>
    <tr>
      <td><input type="email" class = "border" id = "id1" placeholder = "E-mail ID" onblur="validate('id',this.value);" />
      <span id="id"></div>
    </tr>
    <tr>
      <td><input type="password" class = "border" id = "password1" placeholder = "Password" onblur="validate('password',this.value);" />
      <span id='password'></span></td>
    </tr>
    <tr>
      <td><input type="password" class = "border" id = "retype_pass1" placeholder = "Retype Password" onblur="validate('retype_pass',this.value);"  />
      <span id="retype_pass"></span></td>
    </tr>
    <tr>

        <td><input type = "submit" id = "button" name = "register" value = "Create an Account" disabled onClick = "return validation()"  /></td>
    </tr>
  </form>
</table>
下面是使用的验证函数:

function validate(field, query) {
var xmlhttp;
if (window.XMLHttpRequest) { // for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else { // for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState != 4 && xmlhttp.status == 200) {
document.getElementById(field).innerHTML = "Validating..";
} else if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById(field).innerHTML = xmlhttp.responseText;
} else {
document.getElementById(field).innerHTML = "Error Occurred. <a href='index.php'>Reload Or Try     Again</a> the page.";
}
}
xmlhttp.open("GET", "validate.jsp?field=" + field + "&query=" + query, false);
xmlhttp.send();
}
以下是validate.jsp文件:

<%!
String pass;
%>
<%
String field = request.getParameter("field");
String query = request.getParameter("query");
if(field.equals("nm"))
{
        if(query.length() == 0)
            out.print("<span style='color:red;'>*Mandatory Field</span>");
}

if(field.equals("password"))
{
    if(query.length() == 0)
        out.print("<span style='color:red;'>*Mandatory Field</span>");
    else if(query.length() > 0 && query.length() <= 5)
    {
        out.print("<span style='color:red;'>Weak</span>");

    }
    else
        out.print("<html><body><span style='color:green;'>Strong</span></body></html>");
    pass = query;
}
if(field.equals("id"))
{
    if(query.length() == 0)
        out.print("<span style='color:red;'>*Mandatory Field</span>");
}
if(field.equals("retype_pass"))
{
    if(!(query.equals(pass)))
        out.print("<span style='color:red;'>Password and Retype Mismatch</span>");
    else if(query.length() == 0)
        out.print("<span style='color:red;'>*Mandatory Field</span>");
}
if(field.equals("bday"))
{
    if(query.length() == 0)
        out.print("<span style='color:red;'>*Mandatory Field</span>");
}
%>

现在,在我单击Submit按钮并检查我为用户创建的数据库中的条目之后,所有字段都显示为NULL。可能是什么问题

>P>这可能有点奇怪,但是为了使你的表单工作正常,你应该考虑以下内容:

表单是表、tbody或tr的子元素

您可以在表单中包含整个表

您可以在表格单元格中有一个表单。 表单中不能有表的一部分。
因此,您可以在整个表格中使用一个表格。然后使用单击的提交按钮确定要快速处理的行,或者处理允许批量更新的每一行。

我们需要查看validate.jsp内容。@lolka_bolkaok我正在上载validate.jsp文件,这仅适用于ajax吗?因为当我应用javascript时,它工作得很好。