1 votos

Pasar dos valores en una función Ajax a php

Cordial saludo.

Me encuentro desarrollando una página web que busca una parte de un libro almacenado en una base de datos (nombre del libro y número de capitulo)y la muestra en la página.

He utilizado ajax y jQuery para generar dos select dependientes. Lo que necesito ahora es obtener los valores seleccionados de esos select dependientes.

He utilizado estas funciones con éxito sólo para un valor y una sola función, pero no sé como pasar los dos valores de los select en una sola función:

function cargarPaginaPHP(pagina, contenedor, data) {
                var selected = $("#libros option:selected").text();
                var content = $('#' + contenedor);
                  $.ajax({
                        type: "GET",
                        url: "" + pagina,
                        data: "selected=" + selected,
                        success: function(data) {
                          content.html(data);
                        }
                    });
                }

                function cargarPaginaPHP2(pagina, contenedor, data) {
                var selected2 = $("#capitulos option:selected").text();
                var content = $('#' + contenedor);
                  $.ajax({
                        type: "GET",
                        url: "" + pagina,
                        data: "selected=" + selected2,
                        success: function(data) {
                        content.html(data);
                      }
                  });
              }

Al presionar un botón, se capturarían los dos valores, sin embargo esto me está generando valores incorrectos o el desconcertante error "undefined index".

Aquí la etiqueta HTML que llama las dos funciones:

<input type="button" onclick="cargarPaginaPHP('recibeParametro.php','contenedor','');cargarPaginaPHP2('recibeParametro.php','contenedor','');" >

Necesito lo siguiente:

  1. Que reconozca los valores activos o visibles del select aún sin haber seleccionado previamente un valor del combo (ya que puede no reconocer valores del select de capítulo sin antes no haberlo seleccionado).

  2. enviar el valor de las dos variables (selected y selected2) en una sola función de ajax y que la reconozca sin un "notice: undefined index" en el correspondiente script de php.

  3. generar la etiqueta html que llame a esa función con sus parámetros correspondientes.

Por favor si alguien puede ayudarme le agradecería ya que llevo varios días en este problema y soy novato en este campo de la programación.

1voto

Reymagnus Puntos 40

Hola a todos, hice unas correcciones y parece que así sirve (por si alguien tiene la misma duda):

Código Javascript:

Ver original

function cargarPaginaPHP3(pagina, contenedor, data) {
                                            var selected = $("#libros option:selected").text();
                                            var selected2 = $("#capitulos option:selected").text();
                                            var content = $('#' + contenedor);
                                              $.ajax({
                                                    type: "GET",
                                                    url: "" + pagina,
                                                    //data: {"selected=" + selected, "selected2=" + selected},
                                                    data: {selected: selected, selected2: selected2 },
                                                    //datatype: "json";
                                                    success: function(data) {
                                                    content.html(data);
                                                  }
                                              });
                                          }

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by: