Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Microsoft Surface Pro 12 è il 2 in 1 più compatto e silenzioso
Microsoft Surface Pro 12 è il 2 in 1 più compatto e silenzioso
Basato su piattaforma Qualcomm Snapdragon X Plus a 8 core, il nuovo Microsoft Surface Pro 12 è un notebook 2 in 1 molto compatto che punta sulla facilità di trasporto, sulla flessibilità d'uso nelle differenti configurazioni, sul funzionamento senza ventola e sull'ampia autonomia lontano dalla presa di corrente
Recensione REDMAGIC Astra Gaming Tablet: che spettacolo di tablet!
Recensione REDMAGIC Astra Gaming Tablet: che spettacolo di tablet!
Il REDMAGIC Astra Gaming Tablet rappresenta una rivoluzione nel gaming portatile, combinando un display OLED da 9,06 pollici a 165Hz con il potente Snapdragon 8 Elite e un innovativo sistema di raffreddamento Liquid Metal 2.0 in un form factor compatto da 370 grammi. Si posiziona come il tablet gaming più completo della categoria, offrendo un'esperienza di gioco senza compromessi in mobilità.
Dopo un mese, e 50 foto, cosa abbiamo capito della nuova Nintendo Switch 2
Dopo un mese, e 50 foto, cosa abbiamo capito della nuova Nintendo Switch 2
Dopo un mese di utilizzo intensivo e l'analisi di oltre 50 scatti, l'articolo offre una panoramica approfondita di Nintendo Switch 2. Vengono esaminate le caratteristiche che la definiscono, con un focus sulle nuove funzionalità e un riepilogo dettagliato delle specifiche tecniche che ne determinano le prestazioni
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 04-07-2005, 18:11   #1
Matrixbob
Senior Member
 
L'Avatar di Matrixbob
 
Iscritto dal: Jul 2001
Messaggi: 9947
[FORM] Controlli JS sui campi.

Senza che mi metto a scrivere una ad una le funzioni JS, non è che potete passarmi qualche link?! Grazie.
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<<
Più largo è il sorriso, più affilato è il coltello.
Matrixbob è offline   Rispondi citando il messaggio o parte di esso
Old 04-07-2005, 18:16   #2
Matrixbob
Senior Member
 
L'Avatar di Matrixbob
 
Iscritto dal: Jul 2001
Messaggi: 9947
Quote:
Originariamente inviato da Matrixbob
Senza che mi metto a scrivere una ad una le funzioni JS, non è che potete passarmi qualche link?! Grazie.
Tipo:
Codice PHP:
function CheckMail(form){
    var 
form.email.value;
    var 
filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    if (!
filter.test(x)){
        
alert('Inserire un indirizzo email valido!');
        
form.email.focus();
        return 
false;
    }

Pero che siano:
ChekText(this)
CheckDate(this)
o cose simili.

Per metterle tutte in una funziona come faccio?!
Le metto in AND tra loro in un'altra funzione?!
Altrimenti che mi tocca fare un onSubmit lungo un km?!
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<<
Più largo è il sorriso, più affilato è il coltello.

Ultima modifica di Matrixbob : 04-07-2005 alle 18:23.
Matrixbob è offline   Rispondi citando il messaggio o parte di esso
Old 04-07-2005, 22:38   #3
Matrixbob
Senior Member
 
L'Avatar di Matrixbob
 
Iscritto dal: Jul 2001
Messaggi: 9947
Ehm ragazzi ... fin'ora ho fatto come vi posterò, ma mi raccomando fermatemi se sto facendo delle cagate plz

Il file.JS ...
Codice:
function Insautore() {
     // Variabili associate ai campi del modulo
     var nome = document.insautore.nome.value;
     var cognome = document.insautore.cognome.value;
     var cf = document.insautore.cf.value;
     var email = document.insautore.email.value;
     var pwd = document.insautore.pwd.value;

     // Espressione regolare dell'email
     var email_reg_exp = /([a-z0-9_\.\-])+\@(([a-z0-9\-]{2,})+\.)+([a-z0-9]{2,})+/;

        //Effettua il controllo sul campo NOME
        if ((nome == "") || (nome == "undefined")) {
           alert("Il campo Nome è obbligatorio.");
           document.insautore.nome.focus();
           return false;
        }
        //Effettua il controllo sul campo COGNOME
        else if ((cognome == "") || (cognome == "undefined")) {
           alert("Il campo Cognome è obbligatorio.");
           document.insautore.cognome.focus();
           return false;
        }
        //Effettua il controllo sul campo COGNOME
        else if ((cf == "") || (cf == "undefined")) {
           alert("Il campo Codice fiscale è obbligatorio.");
           document.insautore.cf.focus();
           return false;
        }
        //Effettua il controllo sul campo PASSWORD
        else if ((pwd == "") || (pwd == "undefined")) {
           alert("Il campo Password è obbligatorio.");
           document.insautore.pwd.focus();
           return false;
        }
        else if (!email_reg_exp.test(email) || (email == "") || (email == "undefined")) {
           alert("Inserire un indirizzo email corretto.");
           document.insautore.email.select();
           return false;
        }
        //INVIA IL MODULO
        else {
           document.insautore.action = "02-next1.jsp";
           document.insautore.submit();
        }
}

function Inslavoro() {
     // Variabili associate ai campi del modulo
     var titolo = document.inslavoro.titolo.value;
     var argomento = document.inslavoro.argomento.value;
     var path_file = document.inslavoro.path_file.value;
     var data_scaletta = document.inslavoro.data_scaletta.value;
     var evento_nome = document.inslavoro.evento_nome.value;
     var autore_id = document.inslavoro.autore_id.value;

     // Espressione regolare della data per la scaletta delle presentazioni
     // http://web.tiscali.it/alexmfm/reg_exp.html
     var data_scaletta_reg_exp = /[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}(\s[0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2})?/;

        //Effettua il controllo sul campo NOME
        if ((titolo == "") || (titolo == "undefined")) {
           alert("Il campo Titolo è obbligatorio.");
           document.inslavoro.titolo.focus();
           return false;
        }
        //Effettua il controllo sul campo COGNOME
        else if ((argomento == "") || (argomento == "undefined")) {
           alert("Il campo Argomento è obbligatorio.");
           document.inslavoro.argomento.focus();
           return false;
        }
        //Effettua il controllo sul campo PASSWORD
        else if ((path_file == "") || (path_file == "undefined")) {
           alert("Inserire un Path_file nel formato 'c:\\\\dir\\\\file.ext'.");
           document.inslavoro.path_file.focus();
           return false;
        }
        else if (!data_scaletta_reg_exp.test(data_scaletta) || (data_scaletta == "") || (data_scaletta == "undefined")) {
           alert("Inserire una data nel formato 'AAAA-MM-GG' oppure 'AAAA-MM-GG hh:mm:ss'.");
           document.inslavoro.data_scaletta.select();
           return false;
        }
        else if ((evento_nome == "") || (evento_nome == "undefined")) {
           alert("Il campo Evento_nome è obbligatorio.");
           document.inslavoro.evento_nome.focus();
           return false;
        }
        else if ((autore_id == "") || (autore_id == "undefined")) {
           alert("Il campo Autore_id è obbligatorio.");
           document.inslavoro.autore_id.focus();
           return false;
        }
        //INVIA IL MODULO
        else {
           document.inslavoro.action = "02-next2.jsp";
           document.inslavoro.submit();
        }
}
La pagina.html ...
Codice HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>
  <title>SYSCONF | Admin's menù</title>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  <meta name="Keywords" content="conferenze, gestione conferenze" />
  <meta name="Description" content="SYSCONF" />
  <link rel="stylesheet" type="text/css" href="../css/ws-style.css" />
  <script language="javascript"  type="text/javascript" src="../js/ws.js"></script>
</head>

<body onload="displayt(); MM_preloadImages('img/login2.jpg','img/loginreg2.jpg')">

<form name="inslavoro" method="post">
      <h3 align="left">Inserimento lavoro dell'autore</h3>
      <p align="left">Titolo:<input type="text" name="titolo" size="32" maxlength="32" /></p>
      <p align="left">Argomento:<input type="text" name="argomento" size="32" maxlength="32" /></p>
      <p align="left">Pathfile del lavoro:<input type="text" name="path_file" size="32" maxlength="128" /></p>
      <p align="left">Datatime di scaletta:<input type="text" name="data_scaletta" size="32" maxlength="32" /></p>
      <p align="left">Evento:<select name="evento_nome">
                            <option>sistemi adattativi</option><option>bd intelligenti</option><option>polline</option><option>einstein</option>
                       </select></p>
      <p align="left"><input name="autore_id" type="hidden" value="18" /></p>
      <p align="left"><input type="reset" value="Reset"/><input type="submit" value="Prosegui" onClick="Inslavoro()" /></p>
  </form>
</body>
</html>
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<<
Più largo è il sorriso, più affilato è il coltello.

Ultima modifica di Matrixbob : 04-07-2005 alle 23:44.
Matrixbob è offline   Rispondi citando il messaggio o parte di esso
Old 04-07-2005, 23:17   #4
Matrixbob
Senior Member
 
L'Avatar di Matrixbob
 
Iscritto dal: Jul 2001
Messaggi: 9947
AI AI, mi si incasina sui "SELECT" del form!!!

Help, ma non avete voi qualcosa di + semplice da implementare?!
Sto impazzendo!!!

__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<<
Più largo è il sorriso, più affilato è il coltello.
Matrixbob è offline   Rispondi citando il messaggio o parte di esso
Old 05-07-2005, 10:11   #5
Matrixbob
Senior Member
 
L'Avatar di Matrixbob
 
Iscritto dal: Jul 2001
Messaggi: 9947
Stavo pensando ad una funzione unica che controlla che tipo di campo è e di conseguenza seglie il test da fare, ma sono in alto mare, ho buttato giù questo inizio.
Penso che possa servire a tutti se la realizziamo, tnx.
Codice:
function doSubmit(url)
{
  // Puntatore all'oggetto form
  var F = document.form;
  var check = true;

  // Ciclo su tutti gli elementi del form
  for(var i = 0; i < F.length; i++) 
  {
   // puntatore all'oggetto elemento
   var elemento = F.elements(i);
   // controllo se l'elemento è di tipo "select"
   if (F.elements(i).type != "select-one") { check = false; }	
   if (check == false)
                           {
                            alert('Compilare il form correttamente!');
                           }
                 else 
                        {
                         check = true;
                         document.form.action = url;
                         document.form.submit();
                        }
  }
}
Solo che non conoscendo gli oggeti JS, non so bene cosa sto combinando!
H E L P ...

... da richiamre poi così:
Codice HTML:
<input type="button" value="Prosegui" onClick="doSubmit('02-next2.jsp');" />
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<<
Più largo è il sorriso, più affilato è il coltello.

Ultima modifica di Matrixbob : 05-07-2005 alle 10:21.
Matrixbob è offline   Rispondi citando il messaggio o parte di esso
Old 05-07-2005, 11:14   #6
Matrixbob
Senior Member
 
L'Avatar di Matrixbob
 
Iscritto dal: Jul 2001
Messaggi: 9947
Ho chiesto aiuto anche sul forum di HTML.IT, ma dubito che se l'aiuto non giunge dal miti HWUP allora giunga da la ...
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<<
Più largo è il sorriso, più affilato è il coltello.
Matrixbob è offline   Rispondi citando il messaggio o parte di esso
Old 05-07-2005, 12:27   #7
DigitalKiller
Senior Member
 
L'Avatar di DigitalKiller
 
Iscritto dal: Aug 2004
Città: Salento
Messaggi: 1080
Quote:
Originariamente inviato da Matrixbob
Ho chiesto aiuto anche sul forum di HTML.IT, ma dubito che se l'aiuto non giunge dal miti HWUP allora giunga da la ...
Scusami ho perso un po' il filo del discorso Possiamo ricapitolare cosa devi fare ed il problema?
__________________
Il 90% dei problemi riscontrati sui computer sono localizzabili tra la sedia e la tastiera, il restante 10% nella scopa della donna delle pulizie.
DigitalKiller è offline   Rispondi citando il messaggio o parte di esso
Old 05-07-2005, 22:40   #8
Matrixbob
Senior Member
 
L'Avatar di Matrixbob
 
Iscritto dal: Jul 2001
Messaggi: 9947
Quote:
Originariamente inviato da DigitalKiller
Scusami ho perso un po' il filo del discorso Possiamo ricapitolare cosa devi fare ed il problema?
Ciao socio!

INTRO AL PERSONAGGIO:
preciso che sono 1 di quei personaggi che deve fare 1 cosa e ne pensa altre 100 in mezzo, saltando da una soluzione ad un altra.

OBBIETTIVO:
sto implementando 1 aplz web (praticamente 1 sito) x gestire 1 sistema di conferenze.
La parte cliente va in PHP e la parte administrator va in J2EE.

SVILUPPO:
ho scelto il JSP alle Servlet ed ho scelto le DBTAGS per accedere al database MySQL.

INTRO AL PROBLEMA:
mentre i controlli sui dati inseriti (bene o male) lo so fare con la tecnica di PHP_SELF_SUBMIT. in JSP mi trovo spiazzato ed allora ho deciso di ricorrere al buon vecchio Javascript.

PROBLEMI:
[1] Essendo pseudo-programmatore Pascal/C/PHP ed 1 po' JAVA pensavo di cavarmela in 2 orette nell'implementare i controlli in Javascript ed invece no.
[2] Conosco poco gli oggetti di questo "ambiente".
[3] Stavo scrivendo 1 funzione di controllo per ogni FORM del sito ed ad 1 certo punto mi sono rotto ed ho pensato a se era possibile fare una sola funzione che si adattasse al problema.
Ad esempio che riconoscesse da sola il FORM di contesto e che controllasse il type del campo del form, scegliendo automaticamente il controllo da fare.
[4] Ad 1 certo punto mi sono accorto che si perdeva anche 1 campo hidden che mi porto dietro da inserire nel database.

CONCLUSIONE:
mi sento demoralizzato e cerco aiuto in voi prima di perdere chissà quanto tempo nel capire cosa è possibile e cosa meno, ed in che modo nel Javascript.

NUOVO OBBIETTIVO:
Portare a termine almeno una delle strada percorriibli.
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<<
Più largo è il sorriso, più affilato è il coltello.

Ultima modifica di Matrixbob : 06-07-2005 alle 08:40.
Matrixbob è offline   Rispondi citando il messaggio o parte di esso
Old 05-07-2005, 23:05   #9
Matrixbob
Senior Member
 
L'Avatar di Matrixbob
 
Iscritto dal: Jul 2001
Messaggi: 9947
Qui:
[JS] Controllo form generico: help!
pare sia all'ordine del giorno , una sciocchezza! Muahahh muaahahh ah ah .... ehhhhh
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<<
Più largo è il sorriso, più affilato è il coltello.
Matrixbob è offline   Rispondi citando il messaggio o parte di esso
Old 06-07-2005, 12:34   #10
Matrixbob
Senior Member
 
L'Avatar di Matrixbob
 
Iscritto dal: Jul 2001
Messaggi: 9947
Ho trovata questa:
Codice:
//funzione che verifica i radio buttons
function verif1() {
//ciclo per esplorare tutti i bottoni
	for(n=0;n<4;n++) {
//quando un bottone risulta checked si passa alla verifica successiva
		if(document.form1.radio[n].checked) {
			verif2(n)
			break
		}
//se nessun bottone risulta checked viene bloccato l'invio del form 
		if(!document.form1.radio[n].checked && n==3) {
			alert("Non hai selezionato un\n radio button")
			return false
		}
	}
}
//funzione che verifica le checkbox
function verif2() {
//setta le variabili che stabiliscono il numero minimo e massimo di chkbox spuntate
	max=0
	min=0
//nn2 è la variabile che memorizzare il valore della chkbox spuntata
	nn2=0
	for(nn=0;nn<4;nn++) {
		if(document.form1.chkbox[nn].checked) {
			max++
			nn2=nn
//se è spuntata più di una checkbox blocca l'invio del form
			if(max>1) {
				alert("Hai spuntato più di una checkbox")
				return false
			}
		}
//se non è spuntata nessuna chkbox blocca l'invio del form
		if(!document.form1.chkbox[nn].checked) {
			min++
			if(nn==3 && min!=3) {
				alert("Non hai spuntato una checkbox")
				return false
			}
		}
	}
//se esiste una sola chkbox spuntata prosegue nella verifica
	if(max==1) {
		verif3(n,nn2)
	}
}
//funzione che verifica la selection list
function verif3() {
	for(nnn=0;nnn<4;nnn++) {
//in caso di selezione si prosegue con la verifica successiva
		if(document.form1.select1.options[nnn].selected) {
		verif4(n,nn,nnn)
		break
		}
//senza opzioni selezionate l'invio del form si blocca
		if(!document.form1.select1.options[nnn].selected && nnn==3) {
			alert("Non hai selezionato\n un'opzione della lista")
			return false
		}
	}
}
//funzione che verifica che la textbox non sia vuota
function verif4() {
	txt1=document.form1.txt.value
	if(txt1=="") {
		alert("Non hai inserito del testo nella textbox")
		return false
	}
	else {
		verif5(n,nn,nnn,txt1)
	}
}
//funzione che verifica che la passwordbox non sia vuota
function verif5() {
	pwd1=document.form1.pwd.value
	if(pwd1=="") {
		alert("Non hai inserito una password nella passwordbox")
		return false
	}
	else {
		verif6(n,nn,nnn,txt1,pwd1)
	}
}
//funzione che verifica che la textarea non sia vuota
function verif6() {
	txta1=document.form1.txta.value
	if(txta1=="") {
		alert("Non hai inserito del testo nella textarea")
		return false
}
Ma come faccio capire quanti indici hanno le check box, i selct, etc .. ?!
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<<
Più largo è il sorriso, più affilato è il coltello.
Matrixbob è offline   Rispondi citando il messaggio o parte di esso
Old 06-07-2005, 12:52   #11
Matrixbob
Senior Member
 
L'Avatar di Matrixbob
 
Iscritto dal: Jul 2001
Messaggi: 9947
Seguendo lo stile di killer:
Codice:
function CheckAutore(form){
    var nome = form.nome.value;
    var cognome = form.cognome.value;
    var cf = form.cf.value;
    var email = form.email.value;
    var pwd = form.pwd.value;

    // Espressione regolare dell'email
	var email_re = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

    //Effettua il controllo sul campo NOME
    if ((nome == "") || (nome == "undefined")) {
           alert("Il campo Nome è obbligatorio.");
           form.nome.focus();
           return false;
    }
    //Effettua il controllo sul campo COGNOME
    else if ((cognome == "") || (cognome == "undefined")) {
           alert("Il campo Cognome è obbligatorio.");
           form.cognome.focus();
           return false;
    }
    //Effettua il controllo sul campo CF
    else if ((cf == "") || (cf == "undefined")) {
           alert("Il campo Codice fiscale è obbligatorio.");
           form.cf.focus();
           return false;
        }
    //Effettua il controllo sul campo PWD
    else if ((pwd == "") || (pwd == "undefined")) {
           alert("Il campo Password è obbligatorio.");
           form.pwd.focus();
           return false;
    }
    //Effettua il controllo sul campo EMAIL
	if (!email_re.test(email) || (email == "") || (email == "undefined")) {
		alert('Inserire un indirizzo email valido!');
		form.email.focus();
		return false;
    }
    else return true;
}
}
Richiamato con:
Codice:
<form name="insautore" method="post" action="02-next1.jsp" onSubmit="return CheckAutore(this)">
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<<
Più largo è il sorriso, più affilato è il coltello.

Ultima modifica di Matrixbob : 06-07-2005 alle 13:03.
Matrixbob è offline   Rispondi citando il messaggio o parte di esso
Old 06-07-2005, 13:12   #12
DigitalKiller
Senior Member
 
L'Avatar di DigitalKiller
 
Iscritto dal: Aug 2004
Città: Salento
Messaggi: 1080
Quote:
Originariamente inviato da Matrixbob
Ho trovata questa:
Codice:
//funzione che verifica i radio buttons
function verif1() {
//ciclo per esplorare tutti i bottoni
	for(n=0;n<4;n++) {
//quando un bottone risulta checked si passa alla verifica successiva
		if(document.form1.radio[n].checked) {
			verif2(n)
			break
		}
//se nessun bottone risulta checked viene bloccato l'invio del form 
		if(!document.form1.radio[n].checked && n==3) {
			alert("Non hai selezionato un\n radio button")
			return false
		}
	}
}
//funzione che verifica le checkbox
function verif2() {
//setta le variabili che stabiliscono il numero minimo e massimo di chkbox spuntate
	max=0
	min=0
//nn2 è la variabile che memorizzare il valore della chkbox spuntata
	nn2=0
	for(nn=0;nn<4;nn++) {
		if(document.form1.chkbox[nn].checked) {
			max++
			nn2=nn
//se è spuntata più di una checkbox blocca l'invio del form
			if(max>1) {
				alert("Hai spuntato più di una checkbox")
				return false
			}
		}
//se non è spuntata nessuna chkbox blocca l'invio del form
		if(!document.form1.chkbox[nn].checked) {
			min++
			if(nn==3 && min!=3) {
				alert("Non hai spuntato una checkbox")
				return false
			}
		}
	}
//se esiste una sola chkbox spuntata prosegue nella verifica
	if(max==1) {
		verif3(n,nn2)
	}
}
//funzione che verifica la selection list
function verif3() {
	for(nnn=0;nnn<4;nnn++) {
//in caso di selezione si prosegue con la verifica successiva
		if(document.form1.select1.options[nnn].selected) {
		verif4(n,nn,nnn)
		break
		}
//senza opzioni selezionate l'invio del form si blocca
		if(!document.form1.select1.options[nnn].selected && nnn==3) {
			alert("Non hai selezionato\n un'opzione della lista")
			return false
		}
	}
}
//funzione che verifica che la textbox non sia vuota
function verif4() {
	txt1=document.form1.txt.value
	if(txt1=="") {
		alert("Non hai inserito del testo nella textbox")
		return false
	}
	else {
		verif5(n,nn,nnn,txt1)
	}
}
//funzione che verifica che la passwordbox non sia vuota
function verif5() {
	pwd1=document.form1.pwd.value
	if(pwd1=="") {
		alert("Non hai inserito una password nella passwordbox")
		return false
	}
	else {
		verif6(n,nn,nnn,txt1,pwd1)
	}
}
//funzione che verifica che la textarea non sia vuota
function verif6() {
	txta1=document.form1.txta.value
	if(txta1=="") {
		alert("Non hai inserito del testo nella textarea")
		return false
}
Ma come faccio capire quanti indici hanno le check box, i selct, etc .. ?!
Spero di non dire una cretinata, ma se non ricordo male c'è una funzione che ti restituisce tutti gli elementi del form. Quindi, ottenuto il numero di elementi, potresti usare un ciclo while all'interno del quale verifichi prima di tutto di che elemento si tratta (testo, checkbox, ecc) e poi verifichi le condizioni (es. casella di testo vuota, checkbox selezionata)
__________________
Il 90% dei problemi riscontrati sui computer sono localizzabili tra la sedia e la tastiera, il restante 10% nella scopa della donna delle pulizie.
DigitalKiller è offline   Rispondi citando il messaggio o parte di esso
Old 06-07-2005, 13:39   #13
Matrixbob
Senior Member
 
L'Avatar di Matrixbob
 
Iscritto dal: Jul 2001
Messaggi: 9947
Evento restituito dal JSP è un select.
Codice HTML:
<form name="inslavoro" method="post" action="02-next2.jsp" onSubmit="return CheckLavoro(this)">
      <h3 align="left">Inserimento lavoro dell'autore</h3>
      <p align="left">Titolo:<input type="text" name="titolo" size="32" maxlength="32" /></p>
      <p align="left">Argomento:<input type="text" name="argomento" size="32" maxlength="32" /></p>
      <p align="left">Pathfile del lavoro:<input type="text" name="path_file" size="32" maxlength="128" /></p>
      <p align="left">Datatime di scaletta:<input type="text" name="data_scaletta" size="32" maxlength="32" /></p>
      <jsp:include page = "evento-esistente.jsp" flush = "true" />
      <p align="left"><input name="autore_id" type="hidden" value="<%= pageContext.getAttribute("autore_id") %>" /></p>
      <p align="left"><input type="reset" value="Reset"/><input type="submit" value="Prosegui" /></p>
  </form>
Questo non controlla niente, ma non resituisce errore. E' apatico e apssivo!
Codice:
function CheckLavoro(form) {
     // Variabili associate ai campi del modulo
     var titolo = form.titolo.value;
     var argomento = form.argomento.value;
     var path_file = form.path_file.value;
     var data_scaletta = form.data_scaletta.value;
     var evento_nome = form.evento.value;

     // Espressione regolare della data per la scaletta delle presentazioni http://web.tiscali.it/alexmfm/reg_exp.html
     var data_scaletta_re = /^[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}(\s[0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2})?$/;

     //Effettua il controllo sul campo TITOLO
      if ((titolo == "") || (titolo == "undefined")) {
           alert("Il campo Titolo è obbligatorio.");
           form.titolo.focus();
           return false;
      }
      //Effettua il controllo sul campo ARGOMENTO
      else if ((argomento == "") || (argomento == "undefined")) {
           alert("Il campo Argomento è obbligatorio.");
           form.argomento.focus();
           return false;
     }
     //Effettua il controllo sul campo PATH_FILE
     else if ((path_file == "") || (path_file == "undefined")) {
           alert("Inserire un Path_file nel formato 'c:\\\\dir\\\\file.ext'.");
           form.path_file.focus();
           return false;
     }
     //Effettua il controllo sul campo DATA_SCALETTA
     else if (!data_scaletta_re.test(data_scaletta) || (data_scaletta == "") || (data_scaletta == "undefined")) {
           alert("Inserire Data_scaltta nel formato 'AAAA-MM-GG' oppure 'AAAA-MM-GG hh:mm:ss'.");
           form.data_scaletta.focus();
           return false;
     }
     //Effettua il controllo sul campo EVENTO_NOME
     else if ((evento_nome == "") || (evento_nome == "undefined")) {
           alert("Il campo Evento è obbligatorio.");
           form.evento_nome.select();
           return false;
      }
     else return true;
}
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<<
Più largo è il sorriso, più affilato è il coltello.
Matrixbob è offline   Rispondi citando il messaggio o parte di esso
Old 06-07-2005, 14:41   #14
DigitalKiller
Senior Member
 
L'Avatar di DigitalKiller
 
Iscritto dal: Aug 2004
Città: Salento
Messaggi: 1080
Ho appena provato il tuo script, non mi ha dato nessun problema
Se usi firefox, prova ad utilizzare la console javascript per vedere eventuali errori
__________________
Il 90% dei problemi riscontrati sui computer sono localizzabili tra la sedia e la tastiera, il restante 10% nella scopa della donna delle pulizie.
DigitalKiller è offline   Rispondi citando il messaggio o parte di esso
Old 06-07-2005, 15:12   #15
Matrixbob
Senior Member
 
L'Avatar di Matrixbob
 
Iscritto dal: Jul 2001
Messaggi: 9947
Quote:
Originariamente inviato da DigitalKiller
Ho appena provato il tuo script, non mi ha dato nessun problema
Se usi firefox, prova ad utilizzare la console javascript per vedere eventuali errori
Ma quale script dici?!
Niente da fare, non è che è JSP che da fastidio?!
<jsp:include page = "evento-esistente.jsp" flush = "true" />

Il codice risoltante dal JSP è questo:
Codice HTML:
form name="inslavoro" method="post" action="02-next2.jsp" onSubmit="return CheckLavoro(this)">
      <h3 align="left">Inserimento lavoro dell'autore</h3>
      <p align="left">Titolo:<input type="text" name="titolo" size="32" maxlength="32" /></p>
      <p align="left">Argomento:<input type="text" name="argomento" size="32" maxlength="32" /></p>
      <p align="left">Pathfile del lavoro:<input type="text" name="path_file" size="32" maxlength="128" /></p>
      <p align="left">Datatime di scaletta:<input type="text" name="data_scaletta" size="32" maxlength="32" /></p>

      






<p align="left">Evento:<select name="evento_nome">
                            
                       </select></p>



      <p align="left"><input name="autore_id" type="hidden" value="3" /></p>
      <p align="left"><input type="reset" value="Reset"/><input type="submit" value="Prosegui" /></p>
  </form>
100.000.000 di spazzi mi mette!!!!!
Adesso devi andare da mio nonno da bravo nipote, stasera spero in una svolta.
Abbasso J2EE e abbasso JS.
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<<
Più largo è il sorriso, più affilato è il coltello.

Ultima modifica di Matrixbob : 06-07-2005 alle 15:16.
Matrixbob è offline   Rispondi citando il messaggio o parte di esso
Old 06-07-2005, 15:33   #16
DigitalKiller
Senior Member
 
L'Avatar di DigitalKiller
 
Iscritto dal: Aug 2004
Città: Salento
Messaggi: 1080
Forse è proprio quello che da fastidio. Prova ad eliminarlo e vedi come va
Ciao
__________________
Il 90% dei problemi riscontrati sui computer sono localizzabili tra la sedia e la tastiera, il restante 10% nella scopa della donna delle pulizie.
DigitalKiller è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Microsoft Surface Pro 12 è il 2 in 1 più compatto e silenzioso Microsoft Surface Pro 12 è il 2 in 1 pi&u...
Recensione REDMAGIC Astra Gaming Tablet: che spettacolo di tablet! Recensione REDMAGIC Astra Gaming Tablet: che spe...
Dopo un mese, e 50 foto, cosa abbiamo capito della nuova Nintendo Switch 2 Dopo un mese, e 50 foto, cosa abbiamo capito del...
Gigabyte Aero X16 Copilot+ PC: tanta potenza non solo per l'IA Gigabyte Aero X16 Copilot+ PC: tanta potenza non...
vivo X200 FE: il top di gamma si è fatto tascabile? vivo X200 FE: il top di gamma si è fatto ...
Morto Felix Baumgartner, eroe del Red Bu...
Intel prepara l'architettura 'Unified Co...
Threadripper PRO 9000 WX-Series e Radeon...
Il decimo lancio del razzo spaziale Spac...
Nuova immagine per la cometa interstella...
Usi la 'melanzana' su Tinder? Ecco perch...
AWS annuncia molte novità legate ...
Il lato oscuro della speculazione immobi...
Glyph Matrix e design asimmetrico: ...
Il sasso più costoso di sempre: p...
Ericsson punta sull'IA: arrivano nuove s...
Iliad: GIGA 200 e GIGA 150 tra le offert...
Questo power bank wireless ricarica alla...
iPhone 17 Pro e Pro Max: il nu...
Riunioni su Teams direttamente dall'auto...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 07:31.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v