Html 应用AJAX后表单字段返回null
我最近使用AJAX将表单验证应用于我的用户注册表单。以前,我只使用javascript验证表单字段,效果很好。但是在应用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">&
<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时,它工作得很好。