Visualizzazione dei risultati da 1 a 2 su 2

Discussione: Validazione form

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    258

    Validazione form

    Salve ragazzi,
    vorrei chiedervi un aiuto.
    Ho realizzato un form in una pagina jsp ed ho creato una funzione validate in js che dovrebbe mostrarmi un warning qualora l'utente non inserisca un valore nel campo Nome.
    Perchè non funziona?Datemi una mano...thanks



    codice:
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
        <style type="text/css">@import url(calendar-win2k-1.css);</style>
    
    <script type="text/javascript" src="calendar.js"></script>
    <script type="text/javascript" src="lang/calendar-en.js"></script>
    <script type="text/javascript" src="calendar-setup.js"></script>
    
    <script language=JavaScript>
    function validate(frm) {
    	if (!hasData(frm.name.value)){
    	alert("Introdurre il nome nella casella "Nome"!);
    	return false;
    	 }
    	return true;
     }
     function hasData(s){
     	if (s==null)
     		return false;
     	var n=s.length;
     	for (var i=0;i<n;i++){
     		var c=s.charAt(i);
     		switch(c){
     			case ' ':
     			case '\t':
     			case '\n':
     				continue;
     			default:
     				return true;
     			}
     		}
     		return false;
     	}
    </script>
    
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    
    <title></title>
    </head>
    <body>
    
    
    <FORM NAME="form" ID="frm" METHOD=POST ACTION="SaveData.jsp" onsubmit="return validate(this);">
    <table border="0" cellpadding="3" cellspacing="0">
    <tr valign="top">
    <td>Nome</td>
    <td><INPUT TYPE=TEXT ID="name" NAME="name" SIZE=20 ></td>
    </tr>
    <tr valign="top">
    <td>Cognome</td>
    <td><INPUT TYPE=TEXT NAME=surname SIZE=20></td> 
    <tr valign="top">
    <td>Email</td>
    <td><INPUT TYPE=TEXT NAME=email SIZE=20></td>
    </tr>
    <tr valign="top">
    <td>Telefono</td> 
    <td><INPUT TYPE=TEXT NAME=phone SIZE=10></td>
    </tr>
    <tr valign="top">
    <td>Date</td> 
    <td><INPUT TYPE=TEXT  NAME=date id=date SIZE=20>
    <button id="trigger">...</button>
    
    </td>
    </tr>
    <tr valign="top">
    <td>Numero di notti</td> 
    <td><INPUT TYPE=TEXT NAME=days SIZE=5></td>
    </tr>
    <tr valign="top">
    <td>Camere doppie uso singola</td> 
    <td><INPUT TYPE=TEXT NAME=singola SIZE=5></td>
    </tr>
    <tr valign="top">
    <td>Camere doppie</td> 
    <td><INPUT TYPE=TEXT NAME=doppia SIZE=5></td>
    </tr>
    <tr valign="top">
    <td>Camere triple</td> 
    <td><INPUT TYPE=TEXT NAME=tripla SIZE=5></td>
    </tr>
    <tr valign="top">
    <td>Numero Persone</td> 
    <td><INPUT TYPE=TEXT NAME=number SIZE=5></td>
    </tr>
    </table>
    
    
    
    <INPUT TYPE=SUBMIT VALUE="Effettua la prenotazione">
    <INPUT TYPE=RESET VALUE="Annulla la prenotazione">
    </P></FORM>
    
    <script type="text/javascript">
    Calendar.setup(
    {
    inputField : "date", // ID of the input field
    ifFormat : "%d %m, %Y", // the date format
    button : "trigger" // ID of the button
    }
    );
    </script>
    
    
    </body>
    </html>

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Non ho capito bene che controlli faccia esattamente lo script postato, ma per la verificare che campo sia stato compilato e sufficiente:

    codice:
    <script language=JavaScript>
    function validate(frm) {
    	if (frm.name.value == ""){
    	alert("Introdurre il nome nella casella "Nome"!);
    	return false;
    	 }
     }
    </script>
    consiglio anche una semantica corretta gli input scritti in piccolo e delimitare i valori dalle virgolette tipo:
    codice:
    <input name="name" type="text"  id="name" />
    anche il nome del form lo cambierei, in alcuni browser potrebbe non funzionare. Meglio non utilizzare nomi riservati al form tipo: select, input, submit, etc...
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

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.