Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/05/2007, 04:25
Avatar de Shilfild
Shilfild
 
Fecha de Ingreso: marzo-2007
Mensajes: 120
Antigüedad: 18 años
Puntos: 0
Error lectura de variable

Vuelvo a la carga xD

Pues ahora mi problema es rarisimo, os explico un poco. Esto es un modificar contraseña, entonces quiero que el usuario introduzca la contraseña nueva.
Me han pedido que pida también la contraseña actual, asique lo he metido en el código que es este:

Código:
<%@LANGUAGE="JAVASCRIPT"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<!-- #INCLUDE file="../Intranet/web/ADOJAVAS.inc" -->

<script language="JavaScript">
function comprobar()
{ 
campos=''
if (formmodif.txtpass.value=='')
	campos=campos+"\n\n * Introduzca una Contraseña"
if (formmodif.txtpass2.value!=formmodif.contra.value)
	alert(+contra)
	campos=campos+"\n\n * No coinciden las contraseñas"
if (campos==''){
		//enviar
		formmodif.submit()
	}else{
		// Se envía a la función campos, los campos que se necesitan
		if (campos!='') {peticion(campos)}
	}
}
 
// En la variable campos están los campos requeridos
function peticion(campos)
{
alert(""+campos)
}

</script>
	<tr valign="top">
		<td><form name="formmodif" id="formmodif" method="post" action="guardarmod.asp">
      <table width="450"  border="0" align="center" cellpadding="0" cellspacing="0" class="tb_form">
        <tr valign="top"> 
          <td><p><strong>Contrase&ntilde;a actual</strong></p>
            </td>
          <td><input name="txtpass2" type="text" id="txtpass2" size="40" /></td>
        </tr>
		 <tr valign="top"> 
          <td><p><strong>Contrase&ntilde;a nueva</strong></p>
            </td>
          <td><input name="txtpass" type="text" id="txtpass" size="40" /></td>
        </tr>
		 <tr valign="top"> 
      </table>
	  	<%cone=Server.CreateObject("ADODB.Connection")
		cone.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="+Server.MapPath("portaljoven.mdb"))
		rstIntranet=new ActiveXObject("ADODB.RecordSet")
		var logeo=(Request.Cookies("login"))
		sentencia="Select user_pass from usuarios where user_id='"+logeo+"'"
		rstIntranet.Open(sentencia,cone,adOpenStatic,adCmdTable)
		var contra=rstIntranet("user_pass");
		Response.Write(contra) 
		%>
      <p> 
        <input type="reset" name="Reset" value="Borrar">
  		<input name="cmdenviar" type="button" onClick="comprobar()" value="Modificar">
      </p>
      <p>&nbsp;</p>
	</table></form>
	</table>
	</table>

</body>
</html>
El problema viene aquí:

Código:
if (formmodif.txtpass2.value!=formmodif.contra.value)
	alert(+contra)
	campos=campos+"\n\n * No coinciden las contraseñas"
Después de probar mil cosas (ya no me acuerdo ni como) ha salido que la variable formmodif.contra.value era numerica, cuando yo había introducido un texto cualquiera, La select funciona ya que el Response.Write(contra) lo hace correctamente, después de insertar la comprobación no llega hasta la página en la que se modifica la tabla, alguien me puede ayudar? Gracias