Foros del Web » Programando para Internet » PHP »

problemas con javascript por PHP, son funciones.

Estas en el tema de problemas con javascript por PHP, son funciones. en el foro de PHP en Foros del Web. aver, tengo una cosa por aqui una funcion con javascript para validar que no existan campos vacios ni en blanco. por eso este es mi ...
  #1 (permalink)  
Antiguo 23/06/2006, 18:17
 
Fecha de Ingreso: abril-2006
Ubicación: mexico
Mensajes: 287
Antigüedad: 18 años
Puntos: 2
Exclamación problemas con javascript por PHP, son funciones.

aver, tengo una cosa por aqui una funcion con javascript para validar que no existan campos vacios ni en blanco. por eso este es mi codigo en javascript.
Código:
function vacio(q)
{
         for ( i = 0; i < q.length; i++ ) 
		 {
                 if ( q.charAt(i) != " " ) 
				 {
                         return true
                 }
         }
         return false
}

//valida que el campo no este vacio y no tenga solo espacios en blanco
function valida() 
{
   if (vacio(form1.txtapellidos)==false)
   {
          alert("nada se guardo");
		  return false;
		  
   }
   else
   { 
         alert("se guardo el texto");
		 return true;
   }     
}
pero lo malo es que lo pongo despues en el submit... asi.
Código PHP:
        <input name="accion" type="submit" id="cancelar3" value="CANCELAR" >
        <
input name="accion" type="submit" id="guardar6" value="GUARDAR" onclick="valida();"></td
pero... el problema es que en PHP tengo esto...
Código PHP:
if($_POST['accion']=="GUARDAR" )
 {  
       
$diaa=trim(strip_tags($_POST['txtdiaa']));
      
$mesa=trim(strip_tags($_POST['txtmesa']));
      
$anoa=trim(strip_tags($_POST['txtanoa']));
      
$diab=trim(strip_tags($_POST['txtdiab']));
      
$mesb=trim(strip_tags($_POST['txtmesb']));
      
$anob=trim(strip_tags($_POST['txtanob']));
      
$fechaalta=$anoa.'-'.$mesa.'-'.$diaa;
      
$fechabaja=$anob.'-'.$mesb.'-'.$diab;    
        
$var1=trim(strip_tags($_POST['txtnick']));
         
$var2=trim(strip_tags($_POST['txtpass']));
      
$var3=trim(strip_tags($_POST['txtnom']));
         
$var4=trim(strip_tags($_POST['txtapellidos']));
      
$var5=trim(strip_tags($_POST['txtpuesto']));
         
$var6=trim(strip_tags($_POST['selectsex']));
      
$var7=trim(strip_tags($_POST['txtemail']));
         
$var8=trim(strip_tags($_POST['txtdom']));
      
$var9=trim(strip_tags($_POST['txtcp']));
         
$var10=trim(strip_tags($_POST['txtciudad']));
      
$var11=trim(strip_tags($_POST['txtedo']));
      
$var12=trim(strip_tags($_POST['txttel']));
      
$var13=$fechaalta;
      
$var14=$fechabaja;
      
$var15=trim(strip_tags($_POST['txtactivo']));
       
    require(
"funciones_validaciones.php");
    
$resultado=insertabdper("deptoadmor",$var1,$var2,$var3,$var4,$var5,$var6,$var7,$var8,$var9,$var10,$var11,
        
$var12,$var13,$var14,$var15);
            
    if(
$resultado=="0")
    {
    
mysql_close($conexion);
    
    echo
'<script language="JavaScript" type="text/JavaScript">
        alert("Se encontro el nick, por favor busque otro");
        </script>'
;
        
    }
    else
    {
        
mysql_close($conexion);
        
cambiarpagina("altapersonal.php");
    }

y creo que esto puede ser ocasionado por mi código de PHP. el chiste es que debe devolver en el evento onclick false si hay campos vacios y por lo tanto el evento submit no envia el formulario...entonces esa es mi duda por que todo lo tengo en la misma pagina. a ver si alguien me puede ayudar.
  #2 (permalink)  
Antiguo 23/06/2006, 18:36
Avatar de B**
B**
 
Fecha de Ingreso: enero-2006
Ubicación: Monterrey,Mexico
Mensajes: 952
Antigüedad: 18 años, 2 meses
Puntos: 3
Al parecer no validas en php.. es q poneS:
if($_POST['accion']=="GUARDAR" ) ... pues si esa condicion siempre se va a cumplir.. por q el boton se llama asi...
Lo que podrias hacer desahabilitar el boton d enviar si no se ha completado el registro.. si la funcion valida devuelve true, entonces lo habilitas y haces submit..
Saludos..
__________________
-URL= Go PHP5.
-Age=22.
-Learning=PHP,J2EE,Struts,MAMBO,C++,JSON,AJAX,XHTML ,CSS.
  #3 (permalink)  
Antiguo 23/06/2006, 19:31
 
Fecha de Ingreso: abril-2006
Ubicación: mexico
Mensajes: 287
Antigüedad: 18 años
Puntos: 2
Pregunta ddd

si pero como podría hacerle para validar el post, es decir...como le hago, se supone que si devuelve false no se envia el formulario, nop?.mmmm bueno ando hecha pelotas. tendría que enviar una bandera nop?. algo así.
  #4 (permalink)  
Antiguo 23/06/2006, 19:51
 
Fecha de Ingreso: marzo-2002
Ubicación: Salta Capital - Actualmente estudiando en Córdoba
Mensajes: 430
Antigüedad: 22 años
Puntos: 0
Pues podrias usar onlostfocus o algo asi de javascript, hay muchas formas de validar eso, sino podrias poner el evento en el form con el evento onsubmit="return validar();"
o algo asi no te aseguro nada lo vi por ahi hecho con el dreamweaver y si es falso no ejecuta el submit, osea sale el alert pero no postea nada.
__________________
Nada es imposible, con un poco de esfuerzo se logran las cosas.-
  #5 (permalink)  
Antiguo 23/06/2006, 23:51
 
Fecha de Ingreso: abril-2006
Ubicación: mexico
Mensajes: 287
Antigüedad: 18 años
Puntos: 2
ok. gracias tu respuesta znet, fue la que mas me ayudo era precisamente lo que buscaba... aparte pude ver que si me verificaba blancos...pero no cuando no había nada... jajaja.. bueno. gracias... bieen lo puse como dijiste en el evento onsubmit...es mas confiable para mí. gracias.
  #6 (permalink)  
Antiguo 24/06/2006, 02:10
 
Fecha de Ingreso: julio-2005
Mensajes: 86
Antigüedad: 18 años, 9 meses
Puntos: 3
Y si quieres en php hay una opcion, la cual es empty. Esa opcion es que si algo esta vacio, ejecuta una cosa, sino otra por ejemplo
Código PHP:
if (!empty($_POST['lo que quieras que se valide']) && !empty($_POST['lo que quieras que se valide'])) {
accion si esta todo correctopor ejemplo el formulario
} else {
echo 
"Algo vacio.";

así mira, si todos estan rellenados, te ahorras código javascript y ya. Aunque si te manejas mejor con javascript, úsalo :)
[Editado]
Me habia equivocado de sintaxis :), ahora creo que esta correcto
[/Editado]

Última edición por hebo; 24/06/2006 a las 02:19
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 03:18.