Controllo form: uno dei 2 campi obbligatorio

Bubbi

Nuovo Utente
21 Set 2006
19
0
0
Ciao a tutti,
sto cercando di inserire nel form un controllo javascript che mi renda obbligatorio uno dei due campi Cod. Fisc. o Partita Iva.
Ho fatto così ma non mi funziona:
<SCRIPT LANGUAGE=\"JavaScript\">
<!--
function checkCheckBox(iscrizione){

if (iscrizione.ragione_sociale.value == '') {
alert('ATTENZIONE: Ragione Sociale obbligatoria!');
iscrizione.ragione_sociale.focus();
return false;
}
....
else if ((iscrizione.codice fiscale.value == '') && (iscrizione.partita_iva.value == '')) {
alert('ATTENZIONE: Codice Fiscale o Partita IVA obbligatorio!');
iscrizione.codice fiscale.focus();
return false;
}
else
return true;
}
// -->
</script>

Questo è il form:
<form name=\"iscrizione\" action=\"index.php?page=inserisci\" method=\"POST\" onsubmit=\"return checkCheckBox(this)\">
Ragione Sociale:
<input type="text" name="ragione_sociale" />
....
Codice Fiscale:
<input type="text" name="codice_fiscale" SIZE="11" MAXLENGTH="11"/>
<br>
Partita IVA:
<input type="text" name="partita_iva" SIZE="16" MAXLENGTH="16" />
<br>
<input name="submit" type="submit" value="Spedisci"><INPUT TYPE="reset" VALUE="Reset">
</form>

Dove sbaglio? :confused:
Aiutoooo :crying:
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Prova modificando questa riga:
Codice:
else if ((iscrizione.codice fiscale.value == '') && (iscrizione.partita_iva.value == '')) {
Così:
Codice:
else if ((iscrizione.codice_fiscale.value == '') && (iscrizione.partita_iva.value == '')) {
 

Bubbi

Nuovo Utente
21 Set 2006
19
0
0
Grazie,
effettivamente quello era un errore. Purtroppo lo script non funziona comunque. Per qualche motivo proprio quella parte lì mi invalida il tutto e mi fa passare il controllo.
 

Bubbi

Nuovo Utente
21 Set 2006
19
0
0
OK! Ho risolto :fonzie:
Era un altro errore di distrazione come quello che mi hai segnalato, in un altro campo.
Grazie mille
 

Bubbi

Nuovo Utente
21 Set 2006
19
0
0
Ora però, se uno dei due campi è pieno dovrei applicargli il rispettivo controllo del Cod Fisc (function codiceFISCALE) o della Partita IVA (function partitaIVA).
Ho provato a fare così:
....
else if (iscrizione.codice_fiscale.value != ''){
var CFisc=codiceFISCALE(iscrizione.codice_fiscale.value)
if (CFisc==false){
alert('Codice Fiscale errato');
iscrizione.codice_fiscale.focus();
return false;
}
}
....

Ma, manco a dirlo, non funziona...:incazz2:
Qualche idea?
 

Bubbi

Nuovo Utente
21 Set 2006
19
0
0
Mi esegue correttamente il controllo, ma mi poi mi fa saltare i controlli degli altri campi. :mad:
 

softhare

Utente Attivo
11 Feb 2010
57
0
0
Friuli
www.softhare.it
Credo che potresti semplificare la sintassi.
Da:
Codice:
if ((iscrizione.codice_fiscale.value == '') && (iscrizione.partita_iva.value == '')
a:
Codice:
if (!iscrizione.codice_fiscale.value && !iscrizione.partita_iva.value)

Ed analogamente, da:
Codice:
if (iscrizione.codice_fiscale.value != '')
a:
Codice:
if (iscrizione.codice_fiscale.value)

Inoltre nutro il dubbio che usi troppi backslah dove non necessario:

form name=\"iscrizione\" action=\"ind...

Se non hai motivi specifici per usare tutti queli backslash, rimuovili!
 

Bubbi

Nuovo Utente
21 Set 2006
19
0
0
Sì, in effetti lo script è in una pagina php.
Mah.. la cosa inquietante è che lo script funziona perfettamente fino a quando inserisco il codice fiscale giusto. A quel punto, invece di proseguire con i controlli dei campi seguenti, mi spedisce direttamente i dati.
 

softhare

Utente Attivo
11 Feb 2010
57
0
0
Friuli
www.softhare.it
una condizione IF(VALORE) è equiparabile a:

IF((VALORE!="") && (VALORE!=FALSE) && (VALORE!=UNDEFINED))

Cioè ritorna TRUE se e solo se VALORE contiene effettivamente qualcosa, mentre torna FALSE se VALORE non è definito o è una stringa vuota oppure è esplicitamente FALSE.

CIrca la presenza dei backslash, la produzione dinamica di javascript tramite php è alquanto complessa ed il debug dello javascript andrebbe fatto innanzi tutto su quanto PRODOTTO da php anzichè da quanto CONTENUTO nel codice PHP.
Lo script pubblicato da Bubbi non è quindi l'originale php nè il javascript da questo prodotto, ma una edizione ridotta ed editata estraendo solo alcune porzioni dello stesso.

Prova a controllare il JavaScript non nel codice php stesso ma bensì nella pagina da questo prodotto (nel browser, mostra sorgente).
Può darsi che ciò permetta di individuare il problema, che nel php è più difficile da individuare.
 

Bubbi

Nuovo Utente
21 Set 2006
19
0
0
OK!
Ho risolto in questo modo:
...
else if(!codiceFISCALE(iscrizione.codice_fiscale.value)){
alert('Codice Fiscale errato');
iscrizione.codice_fiscale.focus(); return false;}
...

Grazie mille dell'aiuto! :tifoso:
 

Bubbi

Nuovo Utente
21 Set 2006
19
0
0
Aggiorno le ultime modifiche.
Per fare in modo che venisse controllato con la relativa funzione solo il campo pieno, ho fatto così:

....
else if(iscrizione.partita_iva.value && !partitaIVA(iscrizione.partita_iva.value)) {
alert('Partita IVA errato');
iscrizione.partita_iva.focus();
return false;
}
else if(iscrizione.codice_fiscale.value && !codiceFISCALE(iscrizione.codice_fiscale.value)){
alert('Codice Fiscale errato');
iscrizione.codice_fiscale.focus();
return false;
}
.....

Spero possa essere di aiuto a qualcun altro.
Ora mi godo il meritato riposo :dormo:
 
Discussioni simili
Autore Titolo Forum Risposte Data
M Problema con controllo form in real time jQuery 6
A [PHP] Controllo nome utente form di registrazione PHP 4
M [ASP] Upload file da form controllo Classic ASP 5
M [PHP] controllo inserimento dati un un form PHP 4
gandalf1959 Funzione di controllo su un form, comportamento inaspettato Javascript 6
F controllo form php con restituzione errori nella form PHP 10
M controllo di quantità in un form Javascript 0
P controllo sul form Javascript 1
S Controllo di due form in Javascript Javascript 1
P invio form non corretto dopo controllo dati PHP 8
Z Controllo campi di un form php PHP 5
T problema strano con procedura di controllo da database, di dati immessi in un form asp Classic ASP 5
H Effettuare il controllo dei campi di un form e cambiare l' action dinamicamente Javascript 1
K controllo testo da form PHP 7
L form controllo con il for "Tutti i dati sono richiesti". PHP 2
K Controllo FORM e invio dati al DB PHP 43
P controllo campo select nel form Javascript 6
ivarello Form Che avvia upload e controllo automatico PHP 1
P controllo dati form con jquery e php PHP 8
P controllo dati mentre s'inseriscono nel form PHP 17
P controllo campi form istantaneo PHP 4
L controllo form radio prima di inviare jQuery 1
T Impostare un controllo da database, di dati immessi in un form asp Classic ASP 6
T impostare il controllo dei dati immessi dagli utenti su form asp Classic ASP 8
L Controllo campi di un form Ajax 0
D script controllo campi form non va su FF Javascript 2
B Controllo form Javascript 2
B controllo su form PHP 4
Robby84 Codice di controllo per form mail PHP 4
P controllo in form con 2 submit Javascript 7
L Controllo e confronto dati immessi in 2 campi Data in un form (mysql) PHP 1
P Predefinito Controllo campi form contenuto in un DIV Classic ASP 0
D Controllo su campi Form Javascript 3
M Controllo campi in un form Javascript 2
sbobby Codice di controllo su form mail!! PHP 4
A controllo in js dei campi di un form Javascript 1
A Problema form: controllo campi vuoti e inibizione pulsante invio Javascript 5
T controllo form: data inserita > maggiore di data odierna Javascript 4
N Controllo form da altri frame HTML e CSS 0
M pulsante per aprire una maschera che contiene controllo schede MS Access 0
G [PHP] Creare script di prenotazione con controllo disponibilità. PHP 7
Z Controllo giorni MYSQL PHP 0
MarcoGrazia jquery validate() controllo checkbox jQuery 2
M Controllo del codice fiscale/partita iva PHP 11
S Software windows10 per controllo contenuti web Windows e Software 6
S Controllo appuntamenti disponibili sul db PHP 5
L input (controllo se è stato modificato o no). PHP 1
W Controllo competitors serp SEO e Posizionamento 2
bubino8 [Javascript] popup di controllo elimina dopo window.print(); Javascript 0
M [MS Access] controllo valido se MS Access 8

Discussioni simili