|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
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. |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
Quote:
Codice PHP:
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 19:23. |
|
|
|
|
|
|
#3 |
|
Senior Member
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();
}
}
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 : 05-07-2005 alle 00:44. |
|
|
|
|
|
#4 |
|
Senior Member
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. |
|
|
|
|
|
#5 |
|
Senior Member
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();
}
}
}
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 11:21. |
|
|
|
|
|
#6 |
|
Senior Member
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. |
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Aug 2004
Città: Salento
Messaggi: 1080
|
Quote:
__________________
Il 90% dei problemi riscontrati sui computer sono localizzabili tra la sedia e la tastiera, il restante 10% nella scopa della donna delle pulizie.
|
|
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
Quote:
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 09:40. |
|
|
|
|
|
|
#9 |
|
Senior Member
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. |
|
|
|
|
|
#10 |
|
Senior Member
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
}
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. |
|
|
|
|
|
#11 |
|
Senior Member
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;
}
}
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 14:03. |
|
|
|
|
|
#12 | |
|
Senior Member
Iscritto dal: Aug 2004
Città: Salento
Messaggi: 1080
|
Quote:
__________________
Il 90% dei problemi riscontrati sui computer sono localizzabili tra la sedia e la tastiera, il restante 10% nella scopa della donna delle pulizie.
|
|
|
|
|
|
|
#13 |
|
Senior Member
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> 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. |
|
|
|
|
|
#14 |
|
Senior Member
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.
|
|
|
|
|
|
#15 | |
|
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
Quote:
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>
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 16:16. |
|
|
|
|
|
|
#16 |
|
Senior Member
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.
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 14:44.












, una sciocchezza! Muahahh muaahahh ah ah .... ehhhhh









