Tema: Leer lista
Ver Mensaje Individual
  #10 (permalink)  
Antiguo 14/10/2005, 12:23
Avatar de wcfenix
wcfenix
 
Fecha de Ingreso: agosto-2004
Ubicación: Lima
Mensajes: 168
Antigüedad: 20 años, 3 meses
Puntos: 0
Solucion

Hola ya logre lo que queria. Pero no de la forma convencional (enviando todo el arreglo de elementos en la lista) tuve que hacer otra variable invisible que almacene elemento a elemento y los separe x comas (,) incluse tuve que modificar la funcion para borrar elementos de la lista.
Mi script de PHP lee esta variable y realiza un explode teniendo en cuenta las comas para almacenarlo en un arreglo y hacer lo que desee con los datos.
Adjunto ambos codigos.
Códigos en JS
Código:
/* Agregamos un elemento insertado en una lista
param txt = referencia al campo de texto que vamos a insertar.
lst = referencia a la lista donde vamos a insertar los elementos
ocu = referencia a la variable oculta donde realmente guardaremos los datos
*/
function agregaMail(txt,lst,ocu){
/*No anexo el metodo validaMail pues solo valida los e-mails devuelve true si es correcto*/
	if( validaMail(txt) ){
		var nCorreo = txt.value;
		var canti = lst.length
	// Agregamos a la lista
		lst[canti] = new Option(nCorreo,nCorreo,"defaultSelected","selected");
		txt.value = "";
	//Agregamos un valor al campo oculto
		var tempi = ocu.value;
//Si es el primer valor
		if(tempi.length < 3) {
			tempi = nCorreo;
		} else {
			tempi += ","+nCorreo;
		}
		ocu.value = tempi;
	}
}

/* Funcion para eliminar 
lst = referencia a la lista donde vamos a eliminar el elemento seleccionado
ocu = referencia al campo oculto que recibira el formulario
*/
function borrarCorreo(lst,ocu) {
	if (lst.selectedIndex >= 0) {
		lst.options[lst.selectedIndex] = null;
		lst.selectedIndex=0;
		var total = "";
		for(i=0; i<lst.length;i++){
			var actual = lst.options[i].value;
			if( total.length < 3 ){
				total = actual;
			} else {
				total += ","+actual;
			}
		}
		ocu.value = total;
	} else {
		alert("No hay elementos seleccionados.");
	}
}
y bueno si desean... el PHP que recibe empieza asi.
Código:
$amigos = explode(",",$_POST["correos"]);

$correos = "";
for($i=0; $i < count($amigos);$i++){
//Verificamos el valor que ha recibido
	echo "Es ".$amigos[$i]."<br>";
}
Gracias por la ayuda.
Cuando publiquen la web mando la direccion
Gracias tuanit
__________________
"No te preocupes si no funciona bien. Si todo estuviera correcto, serías despedido de tu trabajo" - Ley de mosher
Blog [ http://www.tecnoaventuras.com ]