con mis basicos conocimientos de Javascript y gracias a la gran ayuda que he encontrado en este Foro (como siempre ), he creado un script para que el usuario que se va a registrar eliga su nick de una lista creada en función de sus nombres y apellidos.
Bueno, seguro que no me he explicado demasiado bien . Mejor os pongo el codigo y luego sigo comentando.
Código PHP:
<html>
<head>
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
function createUsername()
{
arrayName = new Array(4);
arrayName[1] = this.form.user_name.value;
arrayName[2] = this.form.user_name2.value;
arrayName[3] = this.form.user_lastname.value;
arrayName[4] = this.form.user_lastname2.value;
i = 1;
this.form.username.options[i]=new Option(arrayName[1] + arrayName[3], arrayName[1] + arrayName[3]);
i++;
this.form.username.options[i]=new Option(arrayName[1] + "_" + arrayName[3], arrayName[1] + "_" + arrayName[3]);
i++;
if (arrayName[2] != "")
{
this.form.username.options[i]=new Option(arrayName[1] + arrayName[2] + arrayName[3], arrayName[1] + arrayName[2] + arrayName[3]);
i++;
this.form.username.options[i]=new Option(arrayName[1] + "_" + arrayName[2] + "_" + arrayName[3], arrayName[1] + "_" + arrayName[2] + "_" + arrayName[3]);
i++;
this.form.username.options[i]=new Option(arrayName[1] + arrayName[2] + "_" + arrayName[3], arrayName[1] + arrayName[2] + "_" + arrayName[3]);
i++;
}
this.form.username.options[i]=new Option(arrayName[3] + arrayName[4], arrayName[3] + arrayName[4]);
i++;
this.form.username.options[i]=new Option(arrayName[3] + "_" + arrayName[4], arrayName[3] + "_" + arrayName[4]);
this.form.username.disabled=false;
}
// End -->
-->
</script>
</head>
<body>
<br> <br> <br>
<div align="center">
<form name="form">
Nombre 1º: <input type="text" name="user_name" size="30" value="Antonio" ><br> <br>
Nombre 2º: <input type="text" name="user_name2" size="30" ><br> <br>
Apellido 1º: <input type="text" name="user_lastname" size="30" value="Garcia" ><br> <br>
Apellido 2º: <input type="text" name="user_lastname2" size="30" value="Ramirez" ><br> <br> <br>
<input type="button" value="Crear:" onClick="createUsername();">
<select name="username" disabled >
<option value="0">Elige Nombre de Usuario:</option></select><br> <br>
</form>
</div>
</body>
</html>
Código PHP:
if (arrayName[2] != "") { (...)
Si primero pruebas a rellenar el campo "nombre 2º" y creas los nicks, luego aunque borres ese campo al crear los nicks sigue saliendo en una de las opciones!!!
¿no me explico bien?
Bueno, para ver el fallo:
1.- Rellena todos los campos, incluido el "nombre 2º"
2.- Pulsa "Crear nicks" y veras que en tres de las opciones aparece el texto de "nombre 2º"
3.- Ahora borra el campo "nombre 2º" y pulsa "Crear nicks" de nuevo.
4.- Verás como en el menu desplegable sigue saliendo el valor del campo "nombre 2º" a pesar de haberlo borrado!!!
¿donde está el fallo ?
Muchisimas gracias por leer este mensaje entero, y mil gracias por intentar ayudarme.
Cualquier pista o comentario me serian de gran ayuda, gracias.
Un saludo a todos desde Alicante (España)
Ciao.