Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   PHP (https://www.clubdelphi.com/foros/forumdisplay.php?f=15)
-   -   Problema con formulario (https://www.clubdelphi.com/foros/showthread.php?t=68153)

JULIPO 27-05-2010 19:13:40

Problema con formulario
 
Estoy elaborando un formulario en delphi for php para grabar un registro en Mysql la pregunta es la siguiente si el usuario no ha completado el formulario y presiona el boton de registro como puedo hacer para que no envie la pagina sino que le solicite al usuario completar el formulario, adicionalmente que verifique que el email es un email y no informacion no valida.

Espero sea clara la pregunta.

Cordialmente
Julipo

JULIPO 29-05-2010 04:41:21

solucion parcial
 
reciban un cordial saludo.

la solucion es en javascript el boton debe activar la funcion boton11JSChange($sender, $params)

Código:

    function Comboto1JSChange($sender, $params)
      {
      ?>
        var comboid = document.getElementById("comboto1");
        if(comboid.value == "")
        {
          return(false);
        }             
        else
        {
        var params = [];
        params.push[comboid.value];
        }
      //Añada su código javascript aquí
 

       
Código PHP:

       

               

               
               

                       
       <?php
           
echo $this->Comboto1->ajaxCall("ciudad");
       
?>


               

               

               

       

        return(false);
      <?php

aqui me surge otro problema la idea es que cuando el combobox1 llamado comboto1 llama el procedimiento ciudad la idea es que el combobox2 se llene con los datos de los estados que tiene ese pais pero me da mensaje de error.
no se que este mal

anexo la rutina ciudad
Código PHP:

    function ciudad($sender$params)
       {
        
$this->zquery1->close();
        
$this->zquery1->SQL="select * from countries WHERE name='".$params[0]."' ORDER BY name asc";
        
$this->zquery1->open();
        if (
$this->zquery1->RecordCount<>0)
         {
          
$nombre=$this->zquery1->Fields[name];
         }
        
/** $this->zquery1->Active=false;*/
        
$this->zquery1->close();
        
$this->zquery1->SQL="select * from states WHERE country_id='".$nombre."' ORDER BY name asc";
        
//$this->zquery1->Active=true;
        
$this->zquery1->open();
        if (
$this->zquery1->RecordCount<>0)
         {
          
$this->Comboto2->Clear();
          
$this->zquery1->first();
          while(!
$this->zquery1->EOF)
           {
            
$this->Comboto2->AddItem($this->zquery1->Fields[name],"",$this->zquery1->Fields[id]);
            
$this->zquery1->next();
           }
         }
       } 

el error que me muestra la pagina es
error de xml response that was returned from the server is invalid

vamos paso por paso queda pendiente como saber si el email es realmente un email y si el telefono solo contiene numeros.

Creo que el asunto es con javascript vamos a seguir investigando

roman 31-05-2010 17:19:40

No entiendo que es lo que estás haciendo con ese evento Change del Combo. Las validaciones deberían hacerse en el evento OnSubmit del formulario.

// Saludos

JULIPO 31-05-2010 18:48:22

Explicacion
 
Maestro roman gracias por tu interes, son realmente 2 preguntas la primera tiene que ver con la validacion del formulario que la hacemos con el evento onclick del boton , la segurnda tiene que ver con un combobox del mismo formulario donde cargo un listado de paises que tengo en una base de datos, cuando selecciono un pais tengo que llenar un segundo combobox con los estados de dicho pais, luego cuando selecciono un estado deben aparecerme en un tercer combobox las ciudades pertenecientes a ese estado, todos los datos estan almacenados en una base de datos mysql,cuando cambio el combobox1 (paises) debe cambiar la informacion en el combobox 2(Estados) que es el encargado de mostrar los estados.

La idea es hacerlo en ajax para que no me recarge la pagina completa.



Espero esto aclare la pregunta.


La franja horaria es GMT +2. Ahora son las 17:39:52.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi