Regresar a la página www.ComoCrearTuWeb.com
Resultados 1 al 3 de 3

Tema: Problema con validacion de datos de un form en php

  1. #1
    Me va gustando esto... Habitante
    Fecha de Ingreso
    05 jul, 12
    Mensajes
    94
    Poder de Reputación
    8

    Problema con validacion de datos de un form en php

    Estimados colegas

    Estoy teniendo el siguiente problema:
    Tengo un formulario en PHP en el que necesito validar algunos datos como por ejemplo: lo que se pone en cuadros de texto, botones <input....> radio y checkbox.

    El procedimiento en PHP funciona bien para los cuadros de texto paro no para los radio y check box y creo que es un problema de los "if" y como estan organizados.

    El form va chequeando en secuencia, primero un input de texto, verifica y si esta bien, sigue con un if para los radio buttons pero ahí viene el problema, pues parece que no verifica bien los radio buttons.

    Estos son los radio buttons (que aparecen desmarcados en el formulario):

    <input id="radio1" name="color" tabindex="2" type="radio" value="Blanco y Negro">
    <input id="radio2" name="color" tabindex="3" type="radio" value="Color">


    Y este que sigue es el if de verificación de los radio buttons
    en el que trato de verificar si el valor del control "color" es mayor que 2 (pues si no están marcados el valor sería cero, no?) (hasta donde entiendo, si no marco ninguno de los radio buttons el valor del largo del valor del control sería cero, y cuando cliqueo en uno u otro tomarían el valor de "Blanco y Negro" (cuya longitud sería 14) o "Color" (cuya longitud sería 5)
    Este es el if.

    //Verificación de longitud del valor de los radio buttons

    echo "if (form1.color.value.length < 2) {\n";
    echo "alert('";
    echo "No seleccionó nada en Color.";;
    echo "')\n";
    echo "form1.color.focus();\n";
    echo "return (false);}\n";

    La verificación del control de texto anterior a los radio buttons se hace con el mismo if y funciona correctamente.
    pero al llegar a este if lo pasa por alto como si fuese un cartel de STOP en medio de una autopista!!!!!!

    Está mal que use la misma variable para ambos radiobuttons?

    Qué es lo que estoy haciendo mal?????

    Si les hace falta algún otro dato por favor díganmelo.
    Ayuda por favor!!!!
    Gracias!!!!

    GusSiglo21

  2. #2
    Esto empieza a ser un vicio... Habitante
    Fecha de Ingreso
    02 may, 11
    Ubicación
    Santiago, Chile
    Mensajes
    2,044
    Poder de Reputación
    21
    Hola!

    Primero que nada, ¿por qué estás validando en el cliente (el navegador, a través de javascript)? Esto es un problema de seguridad. Si vas a validar, siempre debes hacerlo en el servidor (con un lenguaje de programación como PHP).

    Segundo, ¿por qué no escribes el código Javascript en el archivo y no a través de PHP? Algo así:

    Código HTML:
    <script>
      if (condición) {
        ...
      }
    Está mal que use la misma variable para ambos radiobuttons?
    No. De hecho, esa es la forma correcta para que el radio contenga un valor único y no muchos.

    Qué es lo que estoy haciendo mal?????
    Difícil saber... Lo primero que te diré es que revises la consola de errores del navegador (en la mayoría, la tecla F12 abre esta consola - en la pestaña Consol[e|a]).

    Para validar la información con Js (y sin jQuery), una forma sería esta:

    Código HTML:
    var f1 = elemento;
    
    if (f1.addEventListener) {
      f1.addEventListener('submit', onSubmit, false);
    } else if (f1.attachEvent) {
      f1.attachEvent('onsubmit', onSubmit);
    }
    
    function onSubmit(e) {
      e.preventDefault();
      
      // Aquí pones tus validaciones
      if (f1.color.value.length > 0) {
        // Haces algo si el formulario es válido
      } else {
        alert('No seleccionó ningún color');
      }
    
      // Si quieres enviar el formulario, haz esto
      e.target.submit();
    }
    Reemplaza elemento con el name de tu formulario.

  3. #3
    Me va gustando esto... Habitante
    Fecha de Ingreso
    05 jul, 12
    Mensajes
    94
    Poder de Reputación
    8
    Hola skaparate, gracias por tu respuesta detallada.
    La estudiaré tranquilo ya que en algunas cosas me cuesta bastante, por ejemplo eso de validar en el servidor.. realmente no tengo la menor idea de cómo hacerlo.
    Estudiaré el tema teniendo en cuenta lo que me has sugerido.
    Muchas gracias!!!!!!!

Temas Similares

  1. <form> dentro de otro <form>
    Por rixi69 en el foro Foro General
    Respuestas: 0
    Último Mensaje: 12/07/2012, 11:43
  2. Dos actions en un form.
    Por leviatan89 en el foro Formularios
    Respuestas: 5
    Último Mensaje: 16/04/2012, 00:55
  3. datos del form en un div
    Por gjulian en el foro Formularios
    Respuestas: 0
    Último Mensaje: 03/09/2010, 07:41

Permisos de Publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •