Originariamente inviato da Cesar
Salve a tutti!
Ho bisogno del vostro aiuto per realizzare dei controlli in javascript su un form..
Tengo a precisare che sono letteralmente una frana con i javascript!
Allora,
Io ho 5 campi:
nome, cognome, altezza, immagine, categoria, link
Vorrei far si che questi cinque campi siano tutti compilati. Inoltre, il campo “altezza” deve essere numerico con la possibilità di inserire la virgola.
questo e il form:
codice:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html><head>
<script type="text/JavaScript">
function validate(){
var m = document.modulo;
var Nom = m.nome.value;
var Cog = m.cognome.value;
var Alt = m.altezza.value;
var Cat = m.categoria.value;
var Lin = m.paginalink.value;
var Img = m.immagine.value;
if(Cog == ""){
alert("Il campo Cognome e obbligatorio");
m.cognome.focus();
return false;
}
if(Nom == ""){
alert("Il campo Nome e obbligatorio");
m.nome.focus();
return false;
}
if(!Alt.match(/[0-9,]+[0-9]{2}$/)){
alert("Il campo Altezza consentiti solo numeri e la virgola e due decimali");
m.altezza.focus();
return false;
}
if(Img == ""){
alert("Il campo Immagine e obbligatorio");
m.immagine.focus();
return false;
}
if(Cat == 0){
alert("Il campo Categoria e obbligatorio");
m.categoria.focus();
return false;
}
if(Lin == ""){
alert("Il campo Link e obbligatorio");
m.paginalink.focus();
return false;
}
}
</script>
</head><body>
<form action="tua_pagina.asp" method="post" name="modulo" id="modulo" onSubmit="return validate();">
</p>
</p>
<table width="100%" border="0" cellspacing="2" cellpadding="0">
<tr>
<td width="28%">Cognome</td>
<td width="72%"><input name="cognome" type="text" id="cognome"></td>
</tr>
<tr>
<td>Nome </td>
<td><input name="nome" type="text" id="nome"></td>
</tr>
<tr>
<td>Altezza</td>
<td><input name="altezza" type="text" id="altezza"></td>
</tr>
<tr>
<td>Immagine</td>
<td><input name="immagine" type="text" id="immagine"></td>
</tr>
<tr>
<td>Categoria</td>
<td><select name="categoria" id="categoria" onChange="if(this.value == 1){alert('Opzione non ammessa');this.options[0].selected=true;}">
<option value="0" selected>Seleziona Categoria</option>
<option disabled value="1">Principale</option>
<option value="Opz 1">Opz 1</option>
<option value="Opz 2">Opz 2</option>
<option disabled value="1">Secondaria</option>
<option value="Opz 3">Opz 3</option>
<option value="Opz 4">Opz 4</option>
</select></td>
</tr>
<tr>
<td>Link</td>
<td><input name="paginalink" type="text" id="paginalink"></td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="Submit" value="Invia"></td>
</tr>
</table>
</p>
</form>
</body></html>
Nella pagina ho gia preddisposto il menu con IE
sulle opzioni Pricipale e Secondaria verifica che non vengano selezionate, con tutti gli altri browser sono disabilitati.
Il campo altezza oltre ai numeri e alla virgola controlla anche che dopo quest'ultima vi siano 2 decimali (altezza 1,78)
Ho anche altre 2 domande:
1. ho un menu a tendina dove una persona deve scegliere un valore.
--- Scegli la categoria (questa non deve essere selezionabile)
-- Principale (questa non deve essere selezionabile)
- opzione 1 (questa DEVE essere selezionabile)
- opzione 2 (questa DEVE essere selezionabile)
-- Secondaria (questa non deve essere selezionabile)
- opzione 1 (questa DEVE essere selezionabile)
- opzione 2 (questa DEVE essere selezionabile)
Come posso fare?
Vedi risposta sopra.
2. Se un browser non ha abilitato i javascript, posso fare un redirect in questo modo per avvisare di attivare gli javascript ?
codice:
<NOSCRIPT>
<META HTTP-EQUIV REFRESH CONTENT="0; URL=no_javascript.asp">
</NOSCRIPT>
Vi ringrazio per l’aiuto!
Si