Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/07/2007, 10:32
Avatar de oabareload
oabareload
 
Fecha de Ingreso: junio-2006
Ubicación: Distrito Federal, México
Mensajes: 57
Antigüedad: 18 años, 4 meses
Puntos: 0
Enviar Fomulario - OJO - Esto si esta dificil

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&oacute;n</option>
		<option value="6">Comprobante de Estudios</option>
		<option value="7">Comprobante de Domicilio</option>
		<option value="8">Carta de Recomendaci&oacute;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!!!!