PDA

View Full Version : [JavaScript] errore.. perchè?


_fast_
02-03-2009, 15:34
messo così funziona..
pero' devo fare il controllo se è "M" oppure "F" (il codice è anteposto da "//")
ma dove sbaglio?
come deve essere il codice su "sexo"?

<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<script type="text/javascript">

function valida(f) {
var ok = true;
var msg = "Debes controlar:\n";

//lunghezza nombre
if((f.elements["nombre"].value.length < 4) || (f.elements["nombre"].value.length >15)) {
msg += "- Nombre: longitud mínima 3 caracteres y máxima 15\n";
ok = false;
}

//lunghezza contrasena
if((f.elements["contrasena"].value.length < 6) || (f.elements["contrasena"].value.length >15)){
msg += "- Contrasena: longitud mínima 6 caracteres y máxima 15\n";
ok = false;
}

//sexo :muro:
// if((document.form_usuario_nuevo.radioM.checked==false; ) && (document.form_usuario_nuevo.radioF.checked==false; ){
// msg += "- Sexo: falta\n";
// ok = false;
// }


if(ok == false)
alert(msg);
return ok;
}

</script>
</head>

<body>
<form id="form_usuario_nuevo" action="" method="get" onsubmit="return valida(this)">
<fieldset>
<legend>formulario de registro como nuevo usuario</legend>
<br />
<label for="nombre">Nombre:</label>
<input type="text" id="nombre" />
<br /><br />
<label for="contrase&ntilde;a">Contrase&ntilde;a:</label>
<input type="text" id="contrasena" />
<br /><br />
<label for="repetir_contrase&ntilde;a">Repetir:</label>
<input type="text" id="repetir_contrase&ntilde;a" />
<br /><br />
<label for="direccion_de_email">email:</label>
<input type="text" id="direccion_de_email" onchange="validaCorreo(this,'correo no corecto');"/>
<br /><br />
<label for="sexo">sexo:</label>
<a>M</a><input id="radioM" name="sexo" type="radio" value="masculino" />
<a>F</a><input id="radioF" name="sexo" type="radio" value="feminino"/>
<br /><br />
<label for="fecha_de_nacimento">nacimento:</label>
<input type="text" id="fecha_de_nacimento" />
<br /><br />
<label for="ciudad_pais">residencia:</label>
<input type="text" id="ciudad_pais" />
<br /><br />

<input type="submit" value="Enviar" class="centrado" />
</fieldset>
</form>


</body>
</html>

CozzaAmara
02-03-2009, 16:47
La sintassi a punto per accedere direttamente agli oggetti di una form funziona se no sbaglio solo per IE.

Prova così:


//sexo
if((document.getElementById("form_usuario_nuevo").sexo[0].checked == false) &&
(document.getElementById("form_usuario_nuevo").sexo[1].checked == false)
){
msg += "- Sexo: falta\n";
ok = false;
}


Inoltre all'interno di un'espressione condizionale come IF ... non mettere il ";"

_fast_
03-03-2009, 20:27
grazie grazie!!
piano piano il form comincia a prendere form(a)!

e sapresti come fare in modo che quando una persona digita qualcosa sul campo password che vengano puntini o asterischi e non che venga scritta la password che sta digitando in chiaro??

grazie per tutto!!