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
function objetoAjax(){ var xmlhttp=false; try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { xmlhttp = false; } } if (!xmlhttp && typeof XMLHttpRequest!='undefined') { xmlhttp = new XMLHttpRequest(); } return xmlhttp; } function enviarDato(){ //donde se mostrará lo resultados divResultado = document.getElementById('resultado'); //valores de los inputs titulo=document.nueva.titulo.value; letra=document.nueva.letra.value; idioma=document.nueva.idioma.value; generos=document.nueva.generos.value; //instanciamos el objetoAjax ajax=objetoAjax(); //uso del medotod POST //archivo que realizará la operacion //registro.php ajax.open("POST", "procesar.php",true); ajax.onreadystatechange=function() { if (ajax.readyState==4) { //mostrar resultados en esta capa divResultado.innerHTML = ajax.responseText //llamar a funcion para limpiar los inputs LimpiarCampos(); } } ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); //enviando los valores ajax.send("titulo="+titulo+"&letra="+letra+"&idioma="+idioma+"&generos="+generos) } function LimpiarCampos(){ document.nueva_pelicula.titulo.value=""; document.nueva_pelicula.letra.value=""; document.nueva_pelicula.idioma.value=""; document.nueva_pelicula.generos.value=""; document.nueva_pelicula.titulo.focus(); }
Muchas gracias,