mi ritrovo a dover fare un azione particolare...
Ho un form che è validato da uno script javascript semi-universale
cio+ che riesce a effettuare una convalida semplice dei campi form che sono presenti nella pagina.
Mi ritrovo a dover far scegliere all'utente a quale destinatario deve inviare i documenti che ha appena acquistato.
così ho 2 imput radio
1) invia al mio indirizzo
| con asp visuallizzo l'indirizzo|
2) invia a un altro indirizzo
|visualizzo form di inserimento|
PROBLEMA:
se scelgo l'opzione 1) il form ( <FORM NAME="formname" METHOD="post" ACTION="default_prox.asp" OnSubmit="return validateForm(this)">)
invia preventivamente alllo script di convalida javascript bloccando l'invio.
La scelta 1) infatti non prevede il controllo dei campi input collegati alla opzione 1).
Solo quando scelgo la opzione 2 infatti i campi che indicano il nuovo indirizzo dovranno essere convalidati.
Di seguito il codice.
Grazie.
<SCRIPT>
function validateForm (form) {
for (var e = 0; e < form.elements.length; e++) {
var el = form.elements[e];
if (el.type == 'text' || el.type == 'textarea' ||
el.type == 'password' || el.type == 'file' ) {
if (el.value == '') {
alert('Perfavore inserisci un valore valido nel campo ' + el.name);
el.focus();
return false;
}
}
else if (el.type.indexOf('select') != -1 ) {
if (el.selectedIndex == -1 ) {
alert('Perfavore inserisci un valore valido nel campo ' + el.name);
el.focus();
return false;
}
}
else if (el.type == 'radio') {
var group = form[el.name];
var checked = false;
if (!group.length)
checked = el.checked;
else
for (var r = 0; r < group.length; r++)
if ((checked = group[r].checked))
break;
if (!checked) {
alert('Perfavore controlla di avere selezionato le opzioni: ' + el.name);
el.focus();
return false;
}
}
else if (el.type == 'checkbox') {
var group = form[el.name];
if (group.length) {
var checked = true;
for (var r = 0; r < group.length; r++)
if ((checked = group[r].checked))
break;
if (!checked) {
alert('Perfavore controlla di avere selezionato le opzioni:' + el.name);
el.focus();
return false;
}
}
}
}
return true;
}
</SCRIPT>
<FORM NAME="formname" METHOD="post" ACTION="default_prox.asp" OnSubmit="return validateForm(this)">
<td width="82">Nome</td>
<td width="150">
<input type="text" name="nome_destinatario" size="20"></td>
<td width="112">Cognome</td>
<td width="136">
<input type="text" name="cog_destinatario" size="20"></td>
<td width="66">Indirizzo</td>
<td>
<input type="text" name="indirizzo_destinatario" size="39"></td>
</tr>
<tr>
<td width="82">Localita</td>
<td width="150">
<input type="text" name="localita_destinatario" size="20"></td>
<td width="112">Provincia</td>
<td width="136">
<input type="text" name="prov_destinatario" size="20"></td>
<td width="66">Cap</td>
<td>
<input type="text" name="cap_destinatario" size="20"></td>
altri campi input, radio , checkbox
</form>

Rispondi quotando
