Foros del Web » Programando para Internet » Javascript »

Ayuda con un script simple..

Estas en el tema de Ayuda con un script simple.. en el foro de Javascript en Foros del Web. Miren tengo este script: Código: <?php /* **JAR** Con PHP, Obtiene los valores del usuario desde la Base de Datos y los muestra en una ...
  #1 (permalink)  
Antiguo 30/08/2005, 12:51
Saldu
Invitado
 
Mensajes: n/a
Puntos:
Ayuda con un script simple..

Miren tengo este script:


Código:
<?php 
/*
	**JAR**
	Con PHP, Obtiene los valores del usuario desde la Base de Datos y los muestra en una tabla
	HTML con la opcion de sobreescribir el e-mail.
	
	Con JavaScript, Valida que los campos Password contengan un valor y que los campos de 
	NuevoPassword 1 y 2 sean iguales.
*/
session_start(); 
require_once('conexion.php'); 
if(isset($_SESSION['codigoUsuario']) && intval($_SESSION['codigoUsuario'])>0) 
{
$sql = "Select * From usuarios Where codigo = ".intval($_SESSION["codigoUsuario"])." ";


	$result = mysql_query($sql) or die(mysql_error()); 	
	$row = mysql_fetch_array($result,MYSQL_ASSOC);
}
?>

<html>
<head>

<title>Page</title>
<script language="javascript" type="text/javascript">
function validarForm()
{
var error;
error = 0; // No hay error
	if (document.form1.Password.value== "") 
		{
		error = 1; // Hay error y no mandamos el form
		alert ("Debes escribir tu password"); 
		}
		
	if ( document.form1.NuevoPassword1.value != document.form1.NuevoPassword2.value)	
		{
			error = 1; // Error porque los nuevos passwords no son igual
			alert ("Los valores del nuevo password deben de ser iguales"); 
		}
	if (error = 0)	
		{
			document.form1.submit();
		}
}

</script>



</head>
<body>
<body bgcolor=#009900 text=#FFFFFF>

<center><p> <?
		  $error=$_GET['error1'];

		
		  if ($error != ""){
		 echo '<font color="FFOOO">'.$error.'</font>';
		  }?></p></center>
<form action="procesaformulario.php" method="post" name="form1" id="form1" onSubmit='return validarForm();'>

<table width="80%"  border="1" align="center">
  <tr>
    <td>Nombre</td>
    <td><?php echo $row["nombre"]." ".$row["apellido"]?></td>
  </tr>
  
  <tr>
    <td>E-Mail</td>
    <td><input name="email" type="text" value="<?php echo $row['user_email'] ?>"></td>
  </tr>
  <tr>
    <td>Password</td>
    <td><input name="Password" type="password" value=""></td>
  </tr>
  <tr>
    <td>Nuevo Password</td>
    <td><input name="NuevoPassword1" type="password" value=""></td>
  </tr>
  <tr>
    <td>Repetir Nuevo Password</td>
    <td><input name="NuevoPassword2" type="password" value=""></td>
  </tr>
  <tr>
    <td colspan="2"><div align="center">
      <input name="btnSubmit" onclick="validarForm()" type="button" value="Aceptar" style="BORDER: 1px solid ffffff; FONT-SIZE: 8pt; FONT-FAMILY: Verdana;  BACKGROUND-COLOR: #009900;">
<input type=reset value=Borrar name="reset" style="BORDER: 1px solid ffffff; FONT-SIZE: 8pt; FONT-FAMILY: Verdana;  BACKGROUND-COLOR: #009900;">
    </div></td>
  </tr>
</table>
</form>
</body>

</html>

La idea...es que.. si n puso su password,que no haga submit()... ni bien,cuando ponga su password podrá hacersubmit().. pero... si el usuario,opta porcambiar la contraseña,tendría que llenar los 2 campos(nuevo password,y nuevopassword2) bueno... la cosa,es.. que si decide llenar 1 de ls campos,que largue error si llena 1.. es decir... para hacer submit() en ese caso,debería llenar los 2 campos,y los 2 campos deben coincidir.. se entiende? si no coincide,tira error,y no deja haccer submit().. no se si es facil o dificil.. pero creo que ahí lo tengo hecho al script en javascript,pero por alguna razón no funciona como yo quiero..
  #2 (permalink)  
Antiguo 30/08/2005, 12:54
Avatar de biffly  
Fecha de Ingreso: junio-2005
Mensajes: 315
Antigüedad: 18 años, 10 meses
Puntos: 0
1º creo que deberias cambiar esto:
<form action="procesaformulario.php" method="post" name="form1" id="form1" onSubmit='return validarForm();'>

por esto:
<form action="procesaformulario.php" method="post" name="form1" id="form1">

probalo, saludos..
__________________
Sigue al indio desnudo... Pero con precaución, atendiendo las señales de transito y comentando todo lo que haces.
REM Hay que encontrar el camino de regreso y no siempre es facil....
  #3 (permalink)  
Antiguo 30/08/2005, 13:03
Saldu
Invitado
 
Mensajes: n/a
Puntos:
No.. osea..si bien,sigue cumpliendo las funciones.. no hace submit() de ninguna de las 2 maneras... alguna idea? alguna ayuda?

Gracias,saldu
  #4 (permalink)  
Antiguo 30/08/2005, 15:54
Saldu
Invitado
 
Mensajes: n/a
Puntos:
PORFAVOR... ayudenmeeeeeeeeeeeee, es un problema muy grande este para mi...
  #5 (permalink)  
Antiguo 30/08/2005, 16:53
Avatar de Cap.Buscapina  
Fecha de Ingreso: octubre-2004
Ubicación: Argentina
Mensajes: 836
Antigüedad: 19 años, 6 meses
Puntos: 4
probá poniendo luego de ambos ALERT un

Cita:
return false;

Si esto funciona como lo querés, adicionalmente, y solo para hacerlo mas completo, luego del alert podrías probar indicarle que o uno u otro password obtenga el foco con

Cita:
document.getElementById('xxxx').focus();

espero que te sirva.
__________________
by Capitán Buscapina
.
  #6 (permalink)  
Antiguo 30/08/2005, 17:22
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Correccion

Cita:
Iniciado por Saldu
PORFAVOR... ayudenmeeeeeeeeeeeee, es un problema muy grande este para mi...
no hay que desesperarse..
ya corregi tu codigo
Código PHP:
<?php 
/*
    **JAR**
    Con PHP, Obtiene los valores del usuario desde la Base de Datos y los muestra en una tabla
    HTML con la opcion de sobreescribir el e-mail.
    
    Con JavaScript, Valida que los campos Password contengan un valor y que los campos de 
    NuevoPassword 1 y 2 sean iguales.
*/
session_start(); 
require_once(
'conexion.php'); 
if(isset(
$_SESSION['codigoUsuario']) && intval($_SESSION['codigoUsuario'])>0
{
$sql "Select * From usuarios Where codigo = ".intval($_SESSION["codigoUsuario"])." ";


    
$result mysql_query($sql) or die(mysql_error());     
    
$row mysql_fetch_array($result,MYSQL_ASSOC);
}
?>

<html>
<head>

<title>Page</title>
<script language="javascript" type="text/javascript">
function validarForm()
{
    if (document.form1.Password.value== "") 
        {
        alert ("Debes escribir tu password"); 
        return false;
        }
    else
    if ( document.form1.NuevoPassword1.value != document.form1.NuevoPassword2.value)    
        {
            alert ("Los valores del nuevo password deben de ser iguales"); 
            return false;
        }
        else return true;
}
</script>



</head>
<body>
<body bgcolor=#009900 text=#FFFFFF>

<center><p> <?
          $error
=$_GET['error1'];
        
          if (
$error != ""){
         echo 
'<font color="FFOOO">'.$error.'</font>';
          }
?></p></center>
<form action="procesaformulario.php" method="post" name="form1" id="form1" onSubmit="return validarForm();">

<table width="80%"  border="1" align="center">
  <tr>
    <td>Nombre</td>
    <td><?php echo $row["nombre"]." ".$row["apellido"]?></td>
  </tr>
  
  <tr>
    <td>E-Mail</td>
    <td><input name="email" type="text" value="<?php echo $row['user_email']; ?>"></td>
  </tr>
  <tr>
    <td>Password</td>
    <td><input name="Password" type="password" value=""></td>
  </tr>
  <tr>
    <td>Nuevo Password</td>
    <td><input name="NuevoPassword1" type="password" value=""></td>
  </tr>
  <tr>
    <td>Repetir Nuevo Password</td>
    <td><input name="NuevoPassword2" type="password" value=""></td>
  </tr>
  <tr>
    <td colspan="2"><div align="center">
      <input name="btnSubmit" type="submit" value="Aceptar" style="BORDER: 1px solid ffffff; FONT-SIZE: 8pt; FONT-FAMILY: Verdana;  BACKGROUND-COLOR: #009900;">
<input type=reset value=Borrar name="reset" style="BORDER: 1px solid ffffff; FONT-SIZE: 8pt; FONT-FAMILY: Verdana;  BACKGROUND-COLOR: #009900;">
    </div></td>
  </tr>
</table>
</form>
</body>

</html>
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:48.