Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più
Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più
Dreame X60 Pro Ultra Complete implementa due bracci estensibili, per spazzola e moccio, che si spingono ben oltre quanto visto sino ad oggi permettendo una pulizia di casa ancor più capillare e precisa
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati
La tecnologia SQD-Mini LED di TCL arriva sul taglio da 65 pollici con la serie C8L: 2040 zone, pannello WHVA 2.0 e un picco che alle rilevazioni delle sonde tocca i 4400 nit nel profilo Filmmaker e un HDR quasi perfetto
MSI Maestro 500 Wireless: ANC e 90 ore di autonomia a 70 euro
MSI Maestro 500 Wireless: ANC e 90 ore di autonomia a 70 euro
Wireless 2.4 GHz, Bluetooth 5.4, cancellazione attiva del rumore, design pieghevole e un'autonomia che mette in imbarazzo prodotti che costano il doppio. Le Maestro 500 non eccellono in nulla, ma offrono tutto. E a questo prezzo è difficile chiedere di più
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 21-09-2007, 12: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, 13: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 developerSCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 21-09-2007, 14: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, 14: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 developerSCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 21-09-2007, 19: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


Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più Dreame X60 Pro Ultra Complete: i bracci si esten...
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati TCL 65C8L, la recensione del SQD-Mini LED da 440...
MSI Maestro 500 Wireless: ANC e 90 ore di autonomia a 70 euro MSI Maestro 500 Wireless: ANC e 90 ore di autono...
NL-LC1 è il primo dissipatore a liquido AIO di Noctua: silenzio è la parola d'ordine NL-LC1 è il primo dissipatore a liquido A...
Boox Go 10.3 (Gen II) Lumi: il tablet e-ink con Android 15 e penna, dal prezzo super Boox Go 10.3 (Gen II) Lumi: il tablet e-ink con ...
NVIDIA mostra una comunità di rob...
Sony annuncia LYTIA L910, arriva il sens...
Ericsson, il 5G è l’infrastruttur...
Marvell punta tutto su TSMC A14: sar&agr...
Hyundai a un passo dal controllo totale ...
Questo SSD vecchio 16 anni ha resistito ...
Monopattino elettrico Xiaomi in offerta:...
Microsoft usa le capre di Age of Empires...
Microsoft conferma bug nel Cestino in tu...
Accenture crolla del 20% in borsa, il pe...
ASUS Pro WS W890E-SAGE SE: sette PCIe 5....
Attenzione al prezzo di questa TV Hisens...
Chrome sbeffeggiato da Ballmer nel 2009:...
Un gioco Mac compatibile con Apple Silic...
La batteria allo stato solido di Honda 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: 22:01.


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