Ciao a tutti!! Ho un problema con gli oggetti o meglio... con come l'ottenerli all'interno di una funzione...
Ho un form su cui faccio già un controllo dei campi obbligatori, dell'inserimento corretto della email, del Codice fiscale, ecc... vi posto la struttura del form:
<form name="rform" method="post" enctype="multipart/form-data" action="registrazione_execute.php" onSubmit="javascript:return control('rform','nome','cognome','email','cemail', 'pw','cpw','cf','tel');">
Nome <input type="text" name="nome" id="nome" style="width:100%">
Cognome <input type="text" name="cognome" id="cognome" style="width:100%">
E-mail <input type="text" name="email" id="email" style="width:100%">
Conferma e-mail <input type="text" name="cemail" id="cemail" style="width:100%">
Password <input type="password" name="pw" id="pw" style="width:100%" onBlur="controllo_pw(this)">
Conferma password <input type="password" name="cpw" id="cpw" style="width:100%">
Codice fiscale <input type="text" name="cf" id="cf" style="width:100%" onBlur="ControllaCF(this)">
Telefono <input type="text" name="tel" id="tel" style="width:100%" >
<input type="submit" name="task" value="conferma"/>
</form>
La funzione che utilizzo è:
<script language="Javascript">
function control(form_id,nome,cognome,email,cemail,pw,cpw,c f,tel) {
var nome = document.forms[form_id].elements[nome].value;
var cognome = document.forms[form_id].elements[cognome].value;
var email = document.forms[form_id].elements[email].value;
var cemail = document.forms[form_id].elements[cemail].value;
var pw = document.forms[form_id].elements[pw].value;
var cpw = document.forms[form_id].elements[cpw].value;
var cf = document.forms[form_id].elements[cf].value;
var tel = document.forms[form_id].elements[cap].value;
var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
if((nome == '')||(nome == "undefined"))
{
alert('Il campo Nome deve essere compilato!');
return false;
}
else if((cognome == '')||(cognome == "undefined"))
{
alert('Il campo Cognome deve essere compilato!');
return false;
}
else if((email == '')||(email == "undefined"))
{
alert('Il campo E-mail deve essere compilato!');
return false;
}
else if (reg.test(email) == false) {
alert('Il campo E-mail non è scritto correttamente');
return false;
}
else if((cemail == '')||(cemail == "undefined"))
{
alert('Il campo Conferma e-mail deve essere compilato!');
return false;
}
else if(email != cemail)
{
alert('L\' E-mail confermata è diversa da quella inserita!');
return false;
}
else if((pw == '')||(pw == "undefined"))
{
alert('Il campo Password deve essere compilato!');
return false;
}
else if((cpw == '')||(cpw == "undefined"))
{
alert('Il campo Conferma password deve essere compilato!');
return false;
}
else if(cpw != pw)
{
alert('La Password confermata è diversa da quella inserita!');
return false;
}
else if((cf == '')||(cf == "undefined"))
{
alert('Il campo Codice Fiscale deve essere compilato!');
return false;
}
else if((tel== '')||(tel== "undefined"))
{
alert('Il campo Telefono deve essere compilato!');
return false;
}
return "";
}
</SCRIPT>
Il mio probelma è che non riesco a far in modo che la funzione control() mi evidenzi i campi vuoti che andrebbero compilati.
Ho creato la classe "req2" che è da attribuire al campo (obbligatorio) non compilato:
.req2 {
background-color: #FFFFC3;
}
Il problema è che riesco ad utilizzarla solo con questa scrittura:
obj.className="req2";
Ma dal form ricavo solo i valori contenuti negli input e non l'oggetto in se... come posso fare???
var nome = document.forms[form_id].elements[nome].value;
mi ricava il valore all'interno dell'input, che giustamente mi serve, ma come faccio ad ottenerne poi l'obj per evidenziarlo??
Qualcuno mi può aiutare?