Foros del Web » Programando para Internet » Javascript »

Problemas usando JS y php

Estas en el tema de Problemas usando JS y php en el foro de Javascript en Foros del Web. Hola amigos, soy algo nuevo en java script, asi que estoy dando mis primeros pasos en js. Mi problema es el siguiente, tengo una pagina ...
  #1 (permalink)  
Antiguo 12/08/2010, 09:24
 
Fecha de Ingreso: marzo-2010
Mensajes: 140
Antigüedad: 14 años, 1 mes
Puntos: 0
Problemas usando JS y php

Hola amigos, soy algo nuevo en java script, asi que estoy dando mis primeros pasos en js.

Mi problema es el siguiente, tengo una pagina en php donde estoy usando funciones de JS para controlar los datos que capturo desde un FORM donde lo que estoy haciendo es validar datos con la instruccion validar() el problema es que cuando uso el boton de enviar mi codigo javasript funciona pero si tecleo ENTER desde mi teclado no hace su funcion mi javascript, por favor me pueden ayudar, no encuentro donde esta el problema......


Código PHP:
<?php
session_start
();
$admin $_SESSION['admin'];
if(!
$admin){
    echo 
"No esta autorizado para ver esta pagina...";
    echo 
"<meta http-equiv='refresh' content='1;url=/admin/index.php'>";
}else{


?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Login de Usuarios</title>
<link href="Oskarstyle.css" rel="stylesheet" type="text/css" />
<script language="javascript">
function validar(){
    if(document.form1.telefono.value == ""){
        alert("Debes escribir un Telefono")
        document.form1.telefono.focus()
        return 0;
        }
        else{
            
        
                var er_telefono = /(^[0-9\s\+\-])+$/
                if(document.form1.telefono.value != er_telefono.test){
                    alert("Debes Introducir Valores 0 a 9 intenta de nuevo ")
                    document.form1.telefono.focus()
                return 0;
                }else{
                    document.form1.submit();
                }
                
                }
            }
</script>

</head>
<body>
<?php
$alert 
$_GET['alert'];
if(
$alert == 'false'){
    
$alerta "Los datos ingresados no coinciden con ningun registro del sistema";
}
?>
<form action="datos_usuario.php" method="post" name="form1">
<input type="hidden" name="login" value="login">
<div class="alerta">
  <div align="center"><?php echo $alerta?>
  </div>
</div>
<div id="contenido">
<fieldset>
    <legend align="center"></legend><br>
    <div>
        <label for="telefono">Telefono del Usuario</label>
        <input type="text" name="telefono" class="txt" >
    </div>
    <br>
    
</fieldset>
    <div align="center">
      <input type="button" value="Ingresar" class="btn" onclick="return validar();">
    </div>
</div>
</form>

<a href="/admin/cerraradmin.php?mode=close">Cerrar Sesion</a>
 <a href="/admin/mainpage.php">Home</a>

</body>
</html>
<?php
}
?>
saludos...............
  #2 (permalink)  
Antiguo 12/08/2010, 09:35
 
Fecha de Ingreso: septiembre-2009
Mensajes: 124
Antigüedad: 14 años, 7 meses
Puntos: 3
Respuesta: Problemas usando JS y php

Te paso la funcion JS, simplemente remplace el return 0 por el return false:

Código:
<script language="javascript">
function validar(){
	if(document.form1.telefono.value == "")
	{
		alert("Debes escribir un Telefono")
		document.form1.telefono.focus()
		return false;
	}
	else	
	{
		var er_telefono = /(^[0-9\s\+\-])+$/
		if(document.form1.telefono.value != er_telefono.test)
		{
			alert("Debes Introducir Valores 0 a 9 intenta de nuevo ")
			document.form1.telefono.focus()
			return false;
		}
		else
		{
			document.form1.submit();
		}
	}
}
</script>

Seguramente estas usando Chrome, me paso lo mismo.
Tenes que cambiar la funcion "validar()" del evento onclick del boton, al evento onsubmit del form.

Saludos
  #3 (permalink)  
Antiguo 12/08/2010, 09:36
 
Fecha de Ingreso: septiembre-2009
Mensajes: 124
Antigüedad: 14 años, 7 meses
Puntos: 3
Respuesta: Problemas usando JS y php

Perdon, ya que estoy te paso el codigo HTML, como quedaria:

Código:
<form action="datos_usuario.php" method="post" name="form1" onsubmit="return validar();">
<input type="hidden" name="login" value="login">
<div class="alerta">
  <div align="center"><?php echo $alerta; ?>
  </div>
</div>
<div id="contenido">
<fieldset>
    <legend align="center"></legend><br>
    <div>
        <label for="telefono">Telefono del Usuario</label>
        <input type="text" name="telefono" class="txt" >
    </div>
    <br>
    
</fieldset>
    <div align="center">
      <input type="button" value="Ingresar" class="btn" />
    </div>
</div>
</form>
  #4 (permalink)  
Antiguo 12/08/2010, 09:38
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Problemas usando JS y php

llama a la función en el evento onsubmit del form y eliminala de botón, además colocale a ese botón type="submit"

Código HTML:
Ver original
  1. <form action="datos_usuario.php" method="post" name="form1" onsubmit="return validar();">
  2. ...
  3. <input type="submit" value="Ingresar" class="btn" >

de esa forma es el formulario el que controla la validación, y al presionar enter, se activa el evento onsubmit, de igual forma que cualquier otro botón tipo submit
  #5 (permalink)  
Antiguo 12/08/2010, 09:59
 
Fecha de Ingreso: marzo-2010
Mensajes: 140
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Problemas usando JS y php

Gracias amigo si funciona muy bien, el unico problema ahora es con mi expresion regular, abusando de tu confianza, creo esta mal, no habia usado mucho las expresiones regulares pero como quiero hacerlo de la forma interesante, estoy usandolas............

una ayudita por fa...................
  #6 (permalink)  
Antiguo 12/08/2010, 11:03
 
Fecha de Ingreso: marzo-2010
Mensajes: 140
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Problemas usando JS y php

Ya estuvo amigos lo hice encontre algo en el foro y me sirvio, de todas maneras gracias...............

Etiquetas: js, php
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 13:20.