Ragazzi mi rivolgo a tutti...se potete aiutatemi non capisco più che debbo fare...
Sto cercando di validare un form tramite json e ajax su un progetto jsp
Però non ottengo il response della XMLhttprequest.
Questa è la pagina del form:
Questo è il file javascript(con jquery già incluso)codice:<?xml version="1.0" encoding="ISO-8859-1" ?> <%@page import="it.polito.elite.sistinf.newEl.RoleEnum"%> <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <jsp:useBean id="newUserError" class="it.polito.elite.sistinf.msg.error.ErrMsg" scope="request"/> <jsp:useBean id="newUserFormData" class="it.polito.elite.sistinf.newEl.NewUserFormData" scope="request"/> <div class="newUser"> <% out.println("<script type=\"text/javascript\" src=\""+request.getContextPath()+"/modules/users/js/newUserAjax.js\"></script>"); %> <h2>Nuovo Utente</h2> <form method="post" action="<%= request.getContextPath() %>/modules/users/doNewUser.jsp" id="newUserForm" name="newUserForm"> <% if (!newUserFormData.isValid()) { %> <fieldset> <legend>New User</legend> <ul>[*]<label for="cognome">Cognome:<input id="newUserInput" type="text" name="cognome" size="8" value="${newUserFormData.cognome}"/></label> <div id="cognome"></div>[*]<label for="nome">Nome:<input id="newUserInput" type="text" name="nome" size="8" value="${newUserFormData.nome}" /></label> <div id="nome"></div>[*]<label for="matricola">Matricola:<input id="newUserInput" type="text" name="matricola" size="8" value="${newUserFormData.matricola}"/></label> <div id="matricola"></div>[*]<label for="username">Username:<input id="newUserInput" type="text" name="username" size="8" value="${newUserFormData.username}"/></label> <div id="username"></div>[*]<label for="telefono">Telefono:<input id="newUserInput" type="text" name="telefono" size="8" value="${newUserFormData.telefono}"/></label> <div id="telefono"></div>[*]<label for="email">Email:<input id="newUserInput" type="text" name="email" size="8" value="${newUserFormData.email}"/></label> <div id="email"></div>[*]<label for="tipo">Tipo:</label><select id="newUserSelect" name="tipo"> <option value="<%=RoleEnum.amministratore.toString()%>">amministratore</option> <option value="<%=RoleEnum.intermedio1.toString()%>">intermedio1</option> <option value="<%=RoleEnum.intermedio2.toString()%>">intermedio2</option> <option value="<%=RoleEnum.base.toString()%>">base</option> </select>[*]<div class="newUserResponsabile"><label for="tipo">Responsabile:<select id="newUserResp" name="responsabile"> <option class="utenti"></option> </select></label><div id="responsabile"></div></div>[*]<label><input type="submit" name="submit" value="Crea"/></label>[/list] </fieldset> <% } %> </form> </div>
e questa è la servlet:codice:$(document).ready(function() { $(".newUserResponsabile").hide(); var size = 0; $("#newUserForm").submit(function(){doCheckForm(); }); // attach click handler to the post button $("#newUserInput").blur(function(){doCheckInput();}); }); function doCheckInput() { // get the value var input = $("#newUserInput").attr("name"); var value = $("#newUserInput").val(); // compose the ajax request var url = "ajaxNewUser"; // call the get method via ajax... $.getJSON( url, {nome : input, valore : value}, function (data){ changeInput(data); } ); } function changeInput(data) { alert(data); var nome = data.nome ; var valore = data.valore ; if (valore.substring(1,6)=="errore"){ $(".newUserForm input[name$=nome]").css({'color':'#FF0000'}); $("div.$nome").append(valore); }else{ $("#newUserForm input[name$=nome]").attr("type","hidden"); $("div#$nome").append(valore); size++; } } }
Spero Che qualcuno possa aiutarmi!!!!codice:package it.polito.elite.sistinf.newEl; import it.polito.elite.sistinf.msg.error.RegExp; import java.io.IOException; import java.util.regex.Pattern; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.json.simple.JSONObject; /** * Servlet implementation class ajaxNewUser */ @WebServlet(name="ajaxNewUser", description="Servlet for new user form", urlPatterns = { "ajaxNewUser" }) public class ajaxNewUser extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public ajaxNewUser() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub String nome = request.getParameter("nome") ; String valore = request.getParameter("valore") ; RegExp regExp = new RegExp() ; JSONObject obj = new JSONObject() ; if (Pattern.matches(regExp.getItem(nome),valore)){ obj.put("nome", nome) ; obj.put("valore", valore) ; }else{ obj.put("nome", nome) ; valore="errore"+ nome; obj.put("valore", valore) ; } response.getWriter().write(obj.toJSONString()) ; } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response) ; } }
Vi ringrazio!!!

Rispondi quotando


