Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/09/2009, 10:53
Avatar de OsSk4R
OsSk4R
 
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 18 años, 2 meses
Puntos: 74
¿Array y Ajax?

Buenas,

Estoy realizando pruebas para insertar datos en una base de datos mediante ajax, todo va bien, pues es sencillo, no es complicado.

El problema ha surjido cuando uno de esos datos es array, concretamente ofrezco la posibilidad de seleccionar (en este caso) varios generos.

Tengo un pequeño form que contiene:
Titulo,
Letra,
Idioma y
Generos


Donde, como he dicho, en generos salen varios checkbox para que el usuario seleccione.

Si yo quito los generos todo me lo sube correctamente, y si los envio sin ajax igual, el problema es que cuando he añadido los generos en el codigo ajax, no me los ha subido y ahora no me sube nada.

Por lo tanto, ¿que hay que hacer en este caso?

Mi codigo ajax es el siguiente:

Código ajax:
Ver original
  1. function objetoAjax(){
  2.  
  3. var xmlhttp=false;
  4.  
  5. try {
  6.  
  7.  
  8. xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  9.  
  10. } catch (e) {
  11.  
  12. try {
  13.  
  14. xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  15.  
  16. } catch (E) {
  17.  
  18. xmlhttp = false;
  19.  
  20. }
  21.  
  22.  
  23. }
  24. if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
  25.  
  26.   xmlhttp = new XMLHttpRequest();
  27.  
  28.   }
  29.  
  30.   return xmlhttp;
  31.  
  32.   }
  33. function enviarDato(){
  34.  
  35.   //donde se mostrará lo resultados
  36.  
  37.  
  38.   divResultado = document.getElementById('resultado');
  39.  
  40.   //valores de los inputs
  41.  
  42.   titulo=document.nueva.titulo.value;
  43.    letra=document.nueva.letra.value;
  44.     idioma=document.nueva.idioma.value;
  45.      generos=document.nueva.generos.value;
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.   //instanciamos el objetoAjax
  54.  
  55.   ajax=objetoAjax();
  56.  
  57.   //uso del medotod POST
  58.  
  59.   //archivo que realizará la operacion
  60.  
  61.   //registro.php
  62.  
  63.  
  64.   ajax.open("POST", "procesar.php",true);
  65.  
  66.   ajax.onreadystatechange=function() {
  67.  
  68.   if (ajax.readyState==4) {
  69.  
  70.   //mostrar resultados en esta capa
  71.  
  72.   divResultado.innerHTML = ajax.responseText
  73.  
  74.  
  75.   //llamar a funcion para limpiar los inputs
  76.  
  77.   LimpiarCampos();
  78.  
  79.   }
  80.  
  81.   }
  82.  
  83.   ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
  84.  
  85.  
  86.   //enviando los valores
  87.  
  88.   ajax.send("titulo="+titulo+"&letra="+letra+"&idioma="+idioma+"&generos="+generos)
  89.  
  90.   }
  91.  
  92. function LimpiarCampos(){
  93.  
  94.  
  95.   document.nueva_pelicula.titulo.value="";
  96.   document.nueva_pelicula.letra.value="";
  97.   document.nueva_pelicula.idioma.value="";
  98.   document.nueva_pelicula.generos.value="";
  99.  
  100.   document.nueva_pelicula.titulo.focus();
  101.  
  102.   }

Muchas gracias,