Foros del Web » Programando para Internet » Javascript »

Funcion validar sin error pero no me deja avanzar aunke escoja valor

Estas en el tema de Funcion validar sin error pero no me deja avanzar aunke escoja valor en el foro de Javascript en Foros del Web. tego una funcion validar_campos (tiene muchos mas texfields validando pero puse los necesarios) pero tengo un problema, en la validacion del rut aunke lo escoja ...
  #1 (permalink)  
Antiguo 02/10/2006, 20:33
 
Fecha de Ingreso: septiembre-2006
Mensajes: 196
Antigüedad: 17 años, 7 meses
Puntos: 0
Desacuerdo Funcion validar sin error pero no me deja avanzar aunke escoja valor

tego una funcion validar_campos (tiene muchos mas texfields validando pero puse los necesarios) pero tengo un problema, en la validacion del rut aunke lo escoja no puedo seguir me sigue saliendo su alert "seleccione rut" y no puedo avanzar. si la saco, de nivel hacia adelante no tengo ningun problema pero necesito que valide tambien mi rut. un detalle es k estos 2 valores son cargados de un cambo php
como puedo hacer que funcione?

Código:
function validar_campos()
{             
  if (document.form1.rut.value == "")
  {
  alert("Seleccione un RUT");
  form1.rut.focus();
  return (false);
  }

  if (document.form1.nivel.value == "")
  {
  alert("Seleccione un nivel de usuario");
  form1.nivel.focus();
  return (false);
  }

}
  #2 (permalink)  
Antiguo 02/10/2006, 21:13
 
Fecha de Ingreso: diciembre-2003
Mensajes: 1.583
Antigüedad: 20 años, 4 meses
Puntos: 13
Una pregunta ¿qué tipo de campo es RUT?, ¿te fijaste que no haya un error en el nombre?
  #3 (permalink)  
Antiguo 02/10/2006, 21:20
 
Fecha de Ingreso: septiembre-2006
Mensajes: 196
Antigüedad: 17 años, 7 meses
Puntos: 0
si ya lo hice es un select de nombre rut, = xcias de todas maneras por tu alcance alguna otra idea mas?
  #4 (permalink)  
Antiguo 02/10/2006, 22:50
 
Fecha de Ingreso: diciembre-2003
Mensajes: 1.583
Antigüedad: 20 años, 4 meses
Puntos: 13
He usado textualmente tu función Javascript en un formualrio propio y no da problemas, por lo que sólo se me ocurre que debe haber algún problema con el propio SELECT dentro del formulario: error en el nombre (que ya has revisado), que te haya quedado fuera del formulario (muy improbable me imagino)... en realidad no s eme ocurre donde más buscar. ¿Habría alguna posibilidad de postear el html del formulario y el select?
  #5 (permalink)  
Antiguo 02/10/2006, 23:46
 
Fecha de Ingreso: septiembre-2006
Mensajes: 196
Antigüedad: 17 años, 7 meses
Puntos: 0
este es mi archivo.php

Código PHP:
<HTML>
<script language="JavaScript" type="text/javascript">

function validar_campos()
{

if (document.form1.rut.value == ""){
alert("Seleccione un RUT");
form1.rut.focus();
return (false);
}

if (document.form1.nivel.value == ""){
alert("Seleccione un nivel de usuario");
form1.nivel.focus();
return (false);
}

if (form1.tipo.value == "seleccionar"){
alert("Seleccione un tipo de usuario");
form1.tipo.focus();
return (false);
}

if (form1.nombre.value == ""){
alert("Complete su Nombre");
form1.nombre.focus();
return (false);
}

if (form1.apellido.value == ""){
alert("Complete su apellido");
form1.apellido.focus();
return (false);
}

if (form1.telefono.value == ""){
alert("Complete su telefono");
form1.telefono.focus();
return (false);
}

if (form1.email.value == ""){
alert("Complete el email");
form1.email.focus();
return (false);
}

 if(confirm("¿Está seguro de eliminar este registro?")==true)
    {
      form1.submit();}
}

</script>

<HEAD>
<TITLE>SISTEMA BITACOM - Modificar Usuario</TITLE>
<style type="text/css">
<!--
.style1 {color: #FFFFFF}
-->
</style>


<BODY text=#000000 vLink=#6699FF aLink=#6699FF link=#000000 bgColor=#ffffff 
topMargin=0 marginheight="0">
<form name="form1" method="post" action="mod_user2.php">
  <div align="center">
    <p><b><font face="Arial, Helvetica, sans-serif">Seleccione el RUT</font></b></p>
    <p> 
      <?
include"combo_user.php";
?>
    </p>
  </div>
  <table width="60%" align="center" border="1">
    <tr> 
      <td width="49%"><b><font face="Arial, Helvetica, sans-serif">DATOS DE USUARIO</font></b></td>
      <td width="51%">&nbsp;</td>
    </tr>
    <tr> 
      <td width="49%"><font face="Arial, Helvetica, sans-serif">Nivel:</font></td>
      <td width="51%"> 
        <?
                              
include"combo_nivel.php";
                            
?>
      </td>
    </tr>
    <tr> 
      <td width="49%"><font face="Arial, Helvetica, sans-serif">Tipo usuario:</font></td>
      <td width="51%"> 
        <select name="tipo">
          <option selected value="seleccionar">Seleccione el tipo...</option>
          <option value="Docente">Docente</option>
          <option value="No docente">No docente</option>
          <option value="Administrativo">Administrativo</option>
        </select>
      </td>
    </tr>
  </table>
  <p>&nbsp;</p>
  <table width="60%" align="center" border="1">
    <tr> 
      <td width="49%"><b><font face="Arial, Helvetica, sans-serif">DATOS PERSONALES</font></b></td>
      <td width="51%">&nbsp; </td>
    </tr>
    <tr> 
      <td width="49%"><font face="Arial, Helvetica, sans-serif">Nombre:</font></td>
      <td width="51%"> 
        <input type="text" name="nombre" size="30" >
      </td>
    </tr>
    <tr> 
      <td width="49%"><font face="Arial, Helvetica, sans-serif">Apellido:</font></td>
      <td width="51%"> 
        <input type="text" name="apellido" size="30" >
      </td>
    </tr>
    <tr> 
      <td width="49%"><font face="Arial, Helvetica, sans-serif">Telefono:</font></td>
      <td width="51%"> 
        <input type="text" name="telefono" size="30" >
      </td>
    </tr>
    <tr> 
      <td width="49%"><font face="Arial, Helvetica, sans-serif">E-mail:</font></td>
      <td width="51%"> 
        <input type="text" name="email" value="@.com">
      </td>
    </tr>
    <tr> 
      <td width="49%"> 
        <input type="button" name="modificar" value="Modificar" onClick="return validar_campos(this)">
      </td>
      <td width="51%"> 
        <input type="reset" name="restablecer" value="Restablecer">
      </td>
    </tr>
  </table>
  <br>

</form>
</BODY></HTML>

y este es el<?
Código PHP:
include "conexion.php";
$query="Select rut From usuario Order By rut";
$result=mysql_query($query);

echo 
'<select align="center" name="rut">';
echo 
"<option value=\"\">RUT</option>\n";
//Generamos el menu desplegable
while ($row=mysql_fetch_array($result))
{echo 
'<option>'.$row["rut"];}
echo
'</select>';
?> combo rut.php 
  #6 (permalink)  
Antiguo 03/10/2006, 18:21
 
Fecha de Ingreso: septiembre-2006
Mensajes: 196
Antigüedad: 17 años, 7 meses
Puntos: 0
acabo de usar el valida rut en un eliminar, que tiene solo ese combo rut, y me volvio a salr el mismo error "ingrese rut" aunke ya lo hubiese escogido.

se despliega en un combo y tiene este formato:
11.111.111-1

porque no me lo valida??
  #7 (permalink)  
Antiguo 03/10/2006, 19:24
 
Fecha de Ingreso: diciembre-2003
Mensajes: 1.583
Antigüedad: 20 años, 4 meses
Puntos: 13
Viste?, el problema está en el código HTML del SELECT. Para cada opción (generada en el ciclo WHILE) del listado estás usando el siguiente código:

Código HTML:
<option>aqui algo
Cuando no has definido un atributo VALUE para cada OPTION, navegadores como Firefox y Ópera utilizan el texto del OPTION como VALUE (en este caso aqui algo). En cambio en Intenet Explorer si no has definido ese atributo lo interpreta como vacío, por eso en dicho navegador el valor seleccionado siempre va aser igual a "vacío".

Tu código debiera ser así (acostumbrate siempre a cerrar las etiquetas):

Código PHP:
include "conexion.php";
$query="Select rut From usuario Order By rut";
$result=mysql_query($query);

echo 
'<select align="center" name="rut">';
echo 
"<option value=\"\">RUT</option>\n";
//Generamos el menu desplegable
while ($row=mysql_fetch_array($result))
{echo 
'<option value="'.$row["rut"].'">'.$row["rut"].'</option>';}
echo
'</select>';
?> 
  #8 (permalink)  
Antiguo 03/10/2006, 20:52
 
Fecha de Ingreso: septiembre-2006
Mensajes: 196
Antigüedad: 17 años, 7 meses
Puntos: 0
ohh muchas xcias firjolerou, no tenia idea de que internet no lo inerpretaba como vacio, nunca se me hubiera ocurrido tampoco, te pasaste
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 22:16.