Я хочу автоматически заполнять значения формы на основе идентификатора входа в базу данных, но мой код Ajax не работает. После ввода идентификатора входа и щелчка в любом месте за пределами текстового поля входа другие значения должны быть автоматически заполнены в форме. Когда я ввожу логин и щелкаю за пределами текстового поля, другие поля выделяются, но данные не извлекаются из базы данных.
//This is my Ajax code with jQuery
//"lid" is the name of the login field in the form
$(document).ready(function() {
$("#eid").on("focusout",function() {
var id=$("#eid").val();
if(id==="")
{
$("#error").html("<p>This is a required field</p>");
$("#f2").trigger("reset");
return false;
}
else
{
$("#error").html("");
$.ajax({
url:"getAutofillValue.jsp",
data:{lid:id},
method:"POST",
success:function(data)
{
var fdata=$.trim(data);
var sp=fdata.split(",");
$("#sit").val(sp[0]);
$("#super").val(sp[1]);
$("#log").val(sp[2]);
$("#depart").val(sp[3]);
}
});
}
});
});
Following is my getAutofillValue.jsp page to retrieve data from database based on login id:
<%
try{
Class.forName("com.mysql.cj.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/databasenum5", "root", "root");
String id = request.getParameter("lid");
Statement st = con.createStatement();
ResultSet rs = st.executeQuery("select * from employee where Login_id="+id+"");
while(rs.next())
{
out.print(rs.getString("site")+","+rs.getString("name")+","+rs.getInt("employee_id")+","+rs.getString("department"));
}
st.close();
con.close();
}
catch(Exception e)
{
e.printStackTrace();
}
%>