Tengo un Formulario con muchos inputs... creo que son como 50... y también tiene selects... y he aquí el problema... dos de los selects que tengo son múltiples... nunca pensé que fueran un problema pero al enviar el formulario con ajax no se como hacerle para que envié todos los valores del select...
Este es uno de los Select Código HTML:
<label onmouseover="muestraAyuda(event, 'Documentos Presentados')">Documentos Presentados</label>
<select name="documentos" class="other" multiple="multiple" id="documentos" onfocus="foco(this);" onblur="validaselect(this,0);" >
<option value="1">Acta de Nacimiento</option>
<option value="2">IFE</option>
<option value="3">Cartilla</option>
<option value="4">Documento # IMSS</option>
<option value="5">Hoja de Retención</option>
<option value="6">Comprobante de Estudios</option>
<option value="7">Comprobante de Domicilio</option>
<option value="8">Carta de Recomendación</option>
<option value="9">Fotos</option>
</select><br /><br />
Función que envía el Formulario
Código:
function enviarFormulario(url, formid, divid)
{
minutos = 15;
segundos = 00;
var peticion = nuevoAjax();
var Formulario = document.getElementById(formid);
var longitudFormulario = Formulario.elements.length;
var cadenaFormulario = ""
var sepCampos = ""
for (var i=0; i <= Formulario.elements.length-1;i++)
{
cadenaFormulario += sepCampos+Formulario.elements[i].name+'='+encodeURI(Formulario.elements[i].value);
sepCampos="&";
Formulario.elements[i].disabled = true;
}
var obj = document.getElementById(divid);
peticion.open("POST", url, true);
document.getElementById("submit").disabled = true;
peticion.onreadystatechange = function()
{
if (peticion.readyState == 4)
{
if (peticion.status == 200)
{
var result = peticion.responseText;
obj.innerHTML = result; displaychange("loading","none");
}
else
{
estado(peticion.status);
}
}
}
peticion.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=ISO-8859-1');
peticion.send(cadenaFormulario);
return false;
}
Y viendo lo que envía pude constatar que no lo envía completo... bueno al menos los select múltiples que solo envía un valor, obvio, el primero..
Espero que alguien se apiade de mi... y me ilumine... jejeje... se que ha de haber otra forma de enviarlo... pero no la encuentro...
Por su atención GRACIAS!!!!