Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Correttezza dati di una form

    Ciao a tutti, vorrei creare una form in cui si verifica che nessun campo sia lasciato vuoto, altrimenti viene caricata una pagina.
    Vorrei che cliccando sul pulsante di invio dati si faccia la verifica, che in caso negativo venga ricaricata la pagina del form, altrimenti si procede con l'invio ad un'altra pagina. Il problema č che se invio i dati mi viene caricata una pagina diversa da quella specificata nella funzione verifica .

    Ecco il codice:

    codice:
    <%@page contentType="text/html" pageEncoding="UTF-8" session="true"%>
    <!DOCTYPE html>
    
    
    <% HttpSession s=request.getSession();%>
     <script language="Javascript">
    function verifica(modulo)
        {
            // Controlla la presenza dei campi nome e password
            if (modulo.nome.value == "") {
                alert("Campo -Nome- mancante.\nModulo non spedito.");
                modulo.nome.focus();
                return false;
            }
            if (modulo.cognome.value == "") {
                alert("Campo -Cognome- mancante.\nModulo non spedito.");
                modulo.cognome.focus();
                return false;
                    }
                    
                    if (modulo.data.value == "") {
                alert("Campo -Data- mancante.\nModulo non spedito.");
                modulo.data.focus();
                return false;
                    }
                    
                     if (modulo.ora.value == "") {
                alert("Campo -ora- mancante.\nModulo non spedito.");
                modulo.ora.focus();
                return false;
                    }
                    
                    if (modulo.lista.value == "") {
                alert("Campo -lista- mancante.\nModulo non spedito.");
                modulo.lista.focus();
                return false;
                    }
                    
                   else {
                            document.modulo.action = "/caricaprenotazione.java";
                            document.modulo.submit();
                        }   
        }
            
    </script>
    
    
    
    
    
    
    
    
    
    
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title>InserisciPrenotazione</title>
        </head>
        <body>
            
            <%if(!(s.isNew())){%>
            
                <table>        <!--FORM DEVE ESSERE FIGLIA DI TABLE? -->
                
                 <form onSubmit="return verifica(this);" method="post">
                <b>Nome:</b>
                <br>
                <input type="text" name="nome">
                <br>
                <b>Cognome:</b>
                <br>
                <input type="text" name="cognome">
                <br>
                 <b>Lista:</b>
                <br>
                <input type="text" name="lista">
                <br>
                 <b>Data:</b>
                <br>
                <input type="text" name="data">
                <br>
                 <b>Ora:</b>
                <br>
                <input type="text" name="ora">
                <br>
                <input type="submit" value="Aggiungi prenotazione">
                
                </form>
                </table>
            
            <%} else {%>
            <h1>Errore! per potere inserire una prenotazione devi essere loggato!</h1>
            <%}%>
        </body>
    </html>

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2013
    Messaggi
    228

    Il problema č che se invio i dati mi viene caricata una pagina diversa da quella specificata nella funzione verifica
    .
    Quale?

  3. #3
    Utente bannato
    Registrato dal
    Jan 2014
    Messaggi
    13
    Gia, quale?

  4. #4
    Allora, sto usando il modello MVC, quindi all'avvio dell'applicazione si apre una pagina che č la index a cui mi redireziona il Controller, poi dopo il login vado nella pagina con il form, e dopo l'invio dati ritorno nuovamente nella index dove facevo il login, vi linko cosa fa il Controller:

    index.jsp č la pagina di login, mentre quella dove ho il problema del form č inserisciprenotazione.

    codice:
    /* * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */
    /*
     * To change this license header, choose License Headers in Project Properties.
     * To change this template file, choose Tools | Templates
     * and open the template in the editor.
     */
    
    
    package viste;
    
    
    import java.io.IOException;
    import javax.servlet.RequestDispatcher;
    import javax.servlet.ServletContext;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.PrintWriter;
    import javax.servlet.http.HttpSession;
    
    
    /**
     *
     * @author Dario
     */
    public class Controller extends HttpServlet {
        
        
         
    
    
        /** 
         * Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
         * @param request servlet request
         * @param response servlet response
         */
        protected void processRequest(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            ServletContext ctx = getServletContext();
            response.setContentType("text/html;charset=UTF-8");
            String user = request.getParameter("login");
            String password=request.getParameter("password");
            
            
            HttpSession s=request.getSession();  //MEMORIZZO LA SESSIONE CORRENTE
            
            if (user==null ||user.equals("")|| password.equals("") ) { // null parameter --> homepage
                //se la homepage necessita di dati da DB, recuperarli qui e inserirli 
                // come attributi in request
                RequestDispatcher rdErr = ctx.getRequestDispatcher("/index.jsp");
                rdErr.forward(request, response);
                
                
                
            }
            
            else{
                
                s.setAttribute("userName", user);               //MEMORIZZO COME ATTRIBUTO DELLA SESSIONE USERNAME
             //   String url = response.encodeURL("ProgettoB");   //SERVIRA' ???
                
               ConnectionDb c=new ConnectionDb(); 
               String us = c.isUser(user);
               boolean tmp=c.passwordOk(user,password);
              
             
                if(us.equals("admin") && (tmp)){
                RequestDispatcher rdHome = ctx.getRequestDispatcher("/inserisciprenotazione.jsp");
                rdHome.forward(request, response);
                }
                
                else if(us.equals("user") && (tmp)){
                        RequestDispatcher rdHome = ctx.getRequestDispatcher("/inserisciprenotazione.jsp");
                         rdHome.forward(request, response);
                }
                
                
                else {
                      RequestDispatcher rdHome = ctx.getRequestDispatcher("/loginError.jsp");
                       rdHome.forward(request, response);
                }
            }
        }
    
    
        // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
        /** 
         * Handles the HTTP <code>GET</code> method.
         * @param request servlet request
         * @param response servlet response
         */
        protected void doGet(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            processRequest(request, response);
        }
    
    
        /** 
         * Handles the HTTP <code>POST</code> method.
         * @param request servlet request
         * @param response servlet response
         */
        protected void doPost(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            processRequest(request, response);
        }
    
    
        /** 
         * Returns a short description of the servlet.
         */
        public String getServletInfo() {
            return "Short description";
        }
        // </editor-fold>
    }

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.