
01/07/2008, 07:49
|
| | Fecha de Ingreso: diciembre-2007
Mensajes: 179
Antigüedad: 17 años, 4 meses Puntos: 0 | |
Respuesta: error dado al ejecutar <p><label id="mascota" for="mascota">Mascota</label>
<input type="radio" name="mascota" value="1" checked="" onclick = "nmascota.disabled=false; tipo.disabled=false"/>Si
<input type="radio" name="mascota" value="0" onclick = "nmascota.disabled=true; tipo.disabled=true" />No
</p>
</fieldset>
</div>
<div id="mascota">
<fieldset>
<legend>Datos Mascota</legend>
<p><label id="label_nmascota" for="nmascota">Nombre:</label>
<input type="text" id="nmascota" name="nmascota" disabled="disabled" />
</p>
<p><label id="label_tipo" name="tipo">Especie:</label>
<select id="tipo" name="tipo" class="TitleColor required validate-selection" disabled="disable">
<option value="0">Elige</option>
<option value="5">Perro</option>
<option value="2">Gato</option>
<option value="3">Pajaro</option>
<option value="1">Conejo</option>
<option value="4">Peces</option>
<option value="6">Roedores</option>
<option value="7">Tortugas</option>
<option value="8">Otros</option>
</select></p>
</fieldset>
Bueno ese es el codigo html y donde tengo el problema es:
function compruebaemail(email){
var res= false;
var expr= new RegExp ("^(\\w)+([\.-]?(\\w)+)*@(\\w)+([\.-]?(\\w)+)*(\.(\\w){2,3})+$");
var p = expr.exec(email);
if (p)
{
res=true;
}
return (res);
}
function compruebatelefono(telefono){
var res = false;
var expr = new RegExp ("^[0-9]{2,3}-? ?[0-9]{6,7}$");
var p = expr.exec(telefono);
if (p)
{
res= true;
}
return (res);
}
//lo primero que hago es declarar variables para poder
//asignarles los datos que le corresponden
if (Request.Form.Count>0){
}else if(Request.QueryString.Count>0){
var errores = new Array ();//nos va a detectar los errores que se produzcan
var res = true;
var nick = Request.QueryString(1);
var contrasenia = Request.QueryString(2);
var nombre = Request.QueryString(3);
var apellidos = Request.QueryString(4);
var email = Request.QueryString(5);
var telefono = Request.QueryString(6);
var mascota = Request.QueryString(7);
var nombremascota = Request.QueryString(8);
var especie = Request.QueryString(9);
var mensaje;
//empiezo con el chequeo del formulario
if (nick == "")
{
errores.push ("Tiene que escribir un nombre de usuario")
res = false;
}
if (contrasenia == "")
{
errores.push ("Debe de escribir una contraseña");
res = false;
}
if (nombre == "")
{
errores.push ("El campo nombre no puede estar vacío");
res= false;
}
if (apellidos == "")
{
errores.push ("El campo apellidos no puede estar vacío");
res = false;
}
if (compruebaemail(email)== false && email!="")
{
errores.push ("Compruebe que ha escrito de forma correcta su correo");
res = false;
}
if (email=="")
{
errores.push ("El campo email no puede estar vacio");
res = false;
}
if(compruebatelefono(telefono)==false && telefono!="")
{
errores.push("Debe de indicar un telefono de contacto");
res = false;
}
if(telefono=="")
{
errores.push("El campo telefono no debe estar vacio");
res = false;
}
//aqui acaba el chequeo de los datos
if (errores.length>0) ///compruebo si hay algun error
{
res = false;
mensaje="SE HAN DETECTADO VARIOS ERRORES:</br>";
var i;
for (i=0; i<errores.length; i++) //Bucle que recorre la tabla de #errores# creando una cadena que se mostrará en pantalla
{
mensaje += (i+1);
mensaje += ".- ";
mensaje += errores[i];
mensaje += "</br>";
}
}
}
%>
<%
if(res == true)
{
try{
var conexion= Server.CreateObject ("ADODB.Connection");
conexion.Open ("Provider=Microsoft.Jet.OLEDB.4.0;"+" Data Source = "+Server.MapPath ("basedatos/bd.mdb"));
}
catch (e){
Response.Write ("Error1:");
Response.Write ("<b>" + e.description + "</b>");
Response.End();}
var sqlComparaNick = "SELECT * FROM registro WHERE (nick = '"+nick+"' or email= '"+email+"');";
var sqlContrasenia;
var pass = Server.CreateObject ("ADODB.Recordset");
var SQL = "Insert Into registro(nick,contrasenia,nombre,apellidos,email,t elefono,mascota,nombremascota,especie) Values ('"+nick+"','"+contrasenia+"','"+nombre+"','"+apel lidos+"','"+email+"','"+telefono+"','"+mascota+"', '"+nombremascota+"', '"+especie+"');";
try{
conexion.BeginTrans();
var rs = conexion.Execute (sqlComparaNick);
//compruebo que no hay un usuario registrado con el mismo nick
if (rs.eof){
conexion.Execute(SQL);
}
else
{
Response.Write ("<id = notificacion>Ya existe ese usuario. Debe registrarse con otro usuario.</id>");
Response.Write("<h4 align=center ><button onclick='javascript:history.back()'>Volver</button></h4>");
Response.End();//termina la ejecucion de la pag asp
}
sqlPass = "SELECT contrasenia FROM registro WHERE nick ='"+nick+"'";
pass.Open (sqlPass, conexion);
Response.Write ("Se ha dado de alta correctamente.");
Response.Write ("Su contraseña es :"+ pass ("contrasenia")+" y su usuario :"+nick);
conexion.CommitTrans ();
conexion.Close();
}catch( e ) {
Response.Write (" error 2 :");
Response.Write ("<b>" +e.description+ "</b>");
Response.Write( "<button onclick ='javascript:history.back()'>Volver</button>");
Response.End();
}
}
else {
Response.Write ("se han detectao errores al enviar los datos");
Response.Write (mensaje);
}
%>
Y algo tengo mal xk con los datos personales me los guarda en la base de datos perfecto, pero con la opcion no del boton radio los otros 2 campos se quedan en blanco o con valor 0, y no se como tratarlo para que no me de errores. Gracias |