Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Nuova Dacia Spring, del modello precedente resta solo il nome: più grande, più efficiente e ora prodotta in Europa
Nuova Dacia Spring, del modello precedente resta solo il nome: più grande, più efficiente e ora prodotta in Europa
La seconda generazione della citycar elettrica di Dacia passa alla piattaforma RGEV small di Renault Group, cresce di 15 cm in lunghezza e 18 cm in larghezza, adotta un motore da 80 CV e una batteria LFP da 27,5 kWh per 250 km WLTP. Prezzi da 17.900 euro, produzione a Novo Mesto in Slovenia.
BOOX Picco: l'ebook reader minuscolo è una genialata, e si può attaccare allo smartphone
BOOX Picco: l'ebook reader minuscolo è una genialata, e si può attaccare allo smartphone
BOOX ha portato sul mercato Picco, un e-reader da 3,97 pollici che pesa 58 grammi e si aggancia al retro dello smartphone con un anello magnetico. Lo abbiamo usato con Pixel 11 Pro XL e iPhone 18 Pro per capire se un formato così ridotto regga la prova della lettura quotidiana
AMD EPYC Venice: dentro Zen 6, i SoC a 256 core e la sfida al costo della memoria
AMD EPYC Venice: dentro Zen 6, i SoC a 256 core e la sfida al costo della memoria
A Las Vegas AMD ha svelato i dettagli architetturali delle CPU EPYC di sesta generazione, note con il nome in codice Venice. Nuovi core Zen 6 e Zen 6c costruiti a 2 nanometri, fino a 256 core per socket, 16 canali di memoria, interfaccia PCI Express 6.0 e un'intera famiglia di proposte che va da Venice SP7 a Verano. Senza dimenticare la memoria, oggi la voce di costo più pesante in un server: AMD risponde con CXL 3.1 e con la tecnologia software MEXT, che porta la memoria flash dentro la gerarchia della DRAM.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 21-09-2007, 13:51   #1
83mirk
Member
 
Iscritto dal: Mar 2007
Messaggi: 75
[java script] Validare form

Salve ragazzi, vorrei esporre il mio quesito.
Sto realizzando il form per un sito e vorrei effettuare la validazione dei campi di tipo text, radio button, menù di opzioni select.
Potreste darmi una mano?

Fino ad ora sn riuscito a validare il campo testo (quello del nome):

//FORM:

<body><table align="center" border="1">
<form method="post" name="modulo">
<tr>
<td colspan="2" align="center"><b>Registrazione al servizio<br>Tutti i campi sono obbligatori</b></td>
</tr>
<tr>
<td><b>Nome</b></td>
<td><input type="text" name="nome"></td>
</tr>
<tr>
<td><b>Sesso</b></td>
<td>
<input type="radio" name="sesso" value="M" checked>M
<input type="radio" name="sesso" value="F">F
</td>
</tr>
<tr>
<td><b>Città</b></td>
<td>
<select name="citta">
<option>- Seleziona la tua città -</option>
<option value="Roma">Roma</option>
<option value="Milano">Milano</option>
<option value="Napoli">Napoli</option>
<option value="Firenze">Firenze</option>
<option value="Bologna">Bologna</option>
<option value="Catania">Catania</option>
</select>
</td>
</tr>
<tr>
<td colspan="2" align="right">
<input type="button" value="Invia" onClick="Modulo()">
</td>
</tr>
</form>
</table>

FUNZIONE

<script language="javascript">
<!--
function Modulo() {
// Variabili associate ai campi del modulo
var nome = document.modulo.nome.value;

//Effettua il controllo sul campo NOME
if ((nome == "") || (nome == "undefined")) {
alert("Il campo Nome è obbligatorio.");
document.modulo.nome.focus();
return false;
}
//INVIA IL MODULO
else {
document.modulo.action = "php_form.php";
document.modulo.submit();
}
}
//-->
</script>

</body>
</html>

Siccome non sono molto pratico e sto trovando delle difficoltà, potreste dirmi come risolvere il problema per i radio button ed il menù di opzioni???

Ringrazio in anticipo chi avrà la pazienza di rispondermi.
__________________
F3JP-AP098E - T5600 1.8 GHz, RAM 2GB, 320GB SATA 7200 rpm, ATI X1700, S-Multi DL, LCD 15,4 WXGA Glare, WLAN, BTH, Webcam 1.3MP, W7 - Non più ormai ...
83mirk è offline   Rispondi citando il messaggio o parte di esso
Old 21-09-2007, 14:17   #2
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
Quote:
Originariamente inviato da 83mirk Guarda i messaggi
Siccome non sono molto pratico e sto trovando delle difficoltà, potreste dirmi come risolvere il problema per i radio button ed il menù di opzioni???
Innanzitutto è meglio se usi l'evento onsubmit nel tag <form>. Questo evento viene generato quando si sta per inviare il form. Se dall'evento fai ritornare true, allora procede con l'invio, altrimenti se fai ritornare false non fa nulla. Ed è quindi adatto per fare la validazione.

Per quanto riguarda <select> e i radio è anche abbastanza semplice. Un <select> ha anche lui la proprietà 'value' ma anche la proprietà 'options' (un array delle opzioni) e la proprietà 'selectedIndex' (l'indice della option selezionata). Per i radio hai una proprietà 'checked' che dice se è marcata o no.

Per dirla con del codice, nel tuo caso puoi testare:

document.modulo.citta.value
oppure
document.modulo.citta.selectedIndex

e

document.modulo.sesso[0].checked
document.modulo.sesso[1].checked
__________________
Andrea, Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 21-09-2007, 15:30   #3
83mirk
Member
 
Iscritto dal: Mar 2007
Messaggi: 75
Grazie per la celere risposta. Potresti dirmi di preciso dove inserire le stringhe??
__________________
F3JP-AP098E - T5600 1.8 GHz, RAM 2GB, 320GB SATA 7200 rpm, ATI X1700, S-Multi DL, LCD 15,4 WXGA Glare, WLAN, BTH, Webcam 1.3MP, W7 - Non più ormai ...
83mirk è offline   Rispondi citando il messaggio o parte di esso
Old 21-09-2007, 15:48   #4
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
Quote:
Originariamente inviato da 83mirk Guarda i messaggi
Grazie per la celere risposta. Potresti dirmi di preciso dove inserire le stringhe??
Potresti fare:

<form method="post" name="modulo" action="php_form.php" onsubmit="return valida_form()">

(e nota, metti pure l'action, non è granché impostarlo da javascript)

poi il pulsante di invio diventa:

<input type="submit" value="Invia">

(tu avevi fatto un "normale" button)

e il codice Javascript si potrebbe fare:

Codice:
function valida_form ()
{
    if (document.modulo.nome.value == "")
    {
        alert ("Il campo Nome è obbligatorio.");
        document.modulo.nome.focus ();
    }
    else if (!document.modulo.sesso[0].checked &&
             !document.modulo.sesso[1].checked)
    {
        alert ("Il campo Sesso è obbligatorio.");
        document.modulo.sesso[0].focus ();
    }
    else if (document.modulo.citta.selectedIndex == 0)
    {
        alert ("Il campo Città è obbligatorio.");
        document.modulo.citta.focus ();
    }
    else
        return true;

    return false;
}
__________________
Andrea, Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 21-09-2007, 20:44   #5
83mirk
Member
 
Iscritto dal: Mar 2007
Messaggi: 75
Ottimo, grazie per la pazienza.
Funziona tutto alla perfezione
__________________
F3JP-AP098E - T5600 1.8 GHz, RAM 2GB, 320GB SATA 7200 rpm, ATI X1700, S-Multi DL, LCD 15,4 WXGA Glare, WLAN, BTH, Webcam 1.3MP, W7 - Non più ormai ...
83mirk è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Nuova Dacia Spring, del modello precedente resta solo il nome: più grande, più efficiente e ora prodotta in Europa Nuova Dacia Spring, del modello precedente resta...
BOOX Picco: l'ebook reader minuscolo è una genialata, e si può attaccare allo smartphone BOOX Picco: l'ebook reader minuscolo è un...
AMD EPYC Venice: dentro Zen 6, i SoC a 256 core e la sfida al costo della memoria AMD EPYC Venice: dentro Zen 6, i SoC a 256 core ...
HONOR Pad X9 Max recensione, schermo ultra large a meno di 400 euro HONOR Pad X9 Max recensione, schermo ultra large...
Lenovo ThinkPad X1 Carbon Gen 14: il business ultraleggero si rinnova dall’interno Lenovo ThinkPad X1 Carbon Gen 14: il business ul...
La CNSA annuncia la missione Tianwen-4 v...
Una valanga di wafer e memorie incombe s...
Microsoft 365, miglioramenti dopo il dow...
Un'IA attacca la tua azienda, ma per dif...
TSMC investe 1 miliardo di dollari in Op...
Niente più risposte IA nelle ricerche: M...
Allarmi bomba nelle scuole, il Viminale:...
OpenAI incassa 10 miliardi in tre mesi, ...
Continua il Black Friday Engwe: sconto e...
OnePlus 12 riceve Android 17 con una set...
Troppe patch generate dall'IA: anche chi...
Comprata e spenta il giorno dopo: cos'er...
Google lancia Tabletop, l'IA che trasfor...
SpaceX e Tesla verso la fusione del seco...
One UI 9.5 arriva anche su Galaxy S25: S...
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: 18:36.


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