SoloCodigo

Programación Web y Scripting => HTML => Mensaje iniciado por: hpina en Jueves 20 de Noviembre de 2008, 15:20

Título: html con ajax
Publicado por: hpina en Jueves 20 de Noviembre de 2008, 15:20
Muy buenas amigos de solo código;
Tengo un formulario html y uno de los controles es un boton "button", cuando presiono este botón, va a un código AJAX y me genera tantos renglones o lineas para introducir datos como cantidad haya metido el usuario. Mi problema es el siguiente: cuando le doy "SUBMIT" al formulario y voy al control para recibir los datos metidos por el usuario, los datos de los controles generados através del código AJAX se pierden ¿por qué?
De antemano gracias por el apoyo recibido.
Título: Re: html con ajax
Publicado por: shadow_rev en Jueves 20 de Noviembre de 2008, 23:01
Puede ser que el código que generes usando AJAX esté metido dentro de etiquetas FORM, y por eso no te cogen los campos.

Podrías poner el fragmento de código para ver que ocurre ??
Título: Re: html con ajax
Publicado por: hpina en Viernes 21 de Noviembre de 2008, 15:28
Gracias por la contestación; trataré de explicarme mejor.
Dentro del archivo HTML está un FORM que contiene un BUTTON, al presionarlo se ejecuta una función que se llama "CREAR MIEMBROS(Cantidad) que no está dentro del HTML"; el código AJAX donde está la función es el siguiente :
var xmlHttp



function CrearMiembros(Numero)

{        xmlHttp = GetXmlHttpObject();



         if (xmlHttp == null)

         {   alert ("Your browser does not support AJAX!");

             return;

         }

      

         var Url = "/Vistas/visMiembros.php?Cantidad=" + Numero + "&Id=" + Math.random();

      

       xmlHttp.onreadystatechange = stateChanged;

       xmlHttp.open("POST", Url, true);

       xmlHttp.send(null);

}



function stateChanged()

{        if (xmlHttp.readyState == 4)

         {   document.getElementById("Miembros").innerHTML = xmlHttp.responseText;}

}



function GetXmlHttpObject()

{        var xmlHttp = null;



       try

       {  // Firefox, Opera 8.0+, Safari

          xmlHttp = new XMLHttpRequest();

       }

       catch (e)

       {  // Internet Explorer

          try

           {xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");}

          catch (e)

           {xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");}

       }

      

         return xmlHttp;

}

EL archivo Miembros.php que está en el url es:

<?php

     session_start();

   

    $_SESSION['CantidadMiembros'] = $_REQUEST['Cantidad'];

   

    for ($i = 0; $i < $_SESSION['CantidadMiembros']; $i++)

    {    echo "<table>" .

               "<tr>" .

                 "<td align = 'center' " .

                    "class = 'nombreCampo' " .

                    "width = '155'>" .

                   "<input type      = 'text' " .

                        "name      = 'numCedula$i' " .

                        "size      = '18' " .

                        "maxlength = '8' " .

                        "value     = '$Cedula'/>" .

                 "</td>" .

                 

                 "<td align = 'center' " .

                    "class = 'nombreCampo' " .

                    "width = '379'>" .

                   "<input type      = 'text'" .

                        "name      = 'txtNombresApellidos$i' " .

                        "size      = '46' " .

                        "maxlength = '30' " .

                        "value     = '$Nombre'/>" .

                 "</td>" .

                 

                 "<td align = 'center' " .

                    "class = 'nombreCampo' " .

                    "width = '450'>" .

                   "<input type      = 'text' " .

                        "name      = 'txtCargo$i' " .

                        "size      = '55' " .

                        "maxlength = '50' " .

                        "value     = '$Cargo'/>" .

                 "</td>" .

               "</tr>" .

            "</table>";

    }

?>


Todo lo hace bien, pero cuando doy SUBMIT al formulario ni los controles generados por AJAX ni los datos contenidos en ellos existen. El DIV donde se deben colocar los renglones generados por el código AJAX está inmediatamente despues de cerrar el FORM. De nuevo gracias por cualquier apoyo al respecto.
Título: Re: html con ajax
Publicado por: shadow_rev en Viernes 21 de Noviembre de 2008, 19:16
Cita de: "hpina"
El DIV donde se deben colocar los renglones generados por el código AJAX está inmediatamente despues de cerrar el FORM. De nuevo gracias por cualquier apoyo al respecto.
Ahí está el problema. Pon el div dentro de la etiqueta form; de esa forma le agregas los campos y así te capturará la información que introduzcas.

Y para la próxima, pon el código entre el bloque [CODE] (es el botoncito que dice "Code", encima de donde escribes el post), así es más fácil leerlo.

:suerte:
Título: Re: html con ajax
Publicado por: hpina en Viernes 21 de Noviembre de 2008, 22:27
Hola amigo, Funcionó!!! si me captura los datos y no se pierden  ¡muchas gracias!
p.d. tomaré en cuenta tu observacion para una proxima oportunidad
hasta pronto !!!