3 millones en foros del web

Registrarte Políticas Wiki 120segs Ayuda Iniciar sesion

Avisos

Retroceder   Foros del Web > Programación para sitios web > Javascript
Respuesta
 
Herramientas Desplegado
Antiguo 12-oct-2005, 10:48   #1 (permalink)
wcfenix (Reg: agosto-2004)
 
168 Mensajes
Ubicación: Miraflores - Lima
Enviar un mensaje por ICQ a wcfenix Enviar un mensaje por AIM a wcfenix Enviar un mensaje por MSN a wcfenix Enviar un mensaje por Yahoo  a wcfenix Enviar un mensaje por Skype™ a wcfenix wcfenix está desconectado
Triste Leer lista

Hola he hecho un pequeño script para agregar e-mails a una lista desde JavaScript el asunto es que el usuario pueda agregar e-mails a una lista y al enviar el formulario un codigo en PHP debe leer los e-mails puestos.
Pero cuando hago todo solo me lee el ultimo ingreso.
Adjunto el codigo del JS y del PHP
Código:
/*Código JS
recibe la referencia de un campo de texto y de una lista a la cual se le va a agregar el elemento
*/
function agregaMail(txt,lst){
var nCorreo = txt.value;
var canti = lst.length
lst[canti] = new Option(nCorreo,nCorreo,"defaultSelected","selected");
txt.value = "";
}
El PHP es asi:
Código:
$amigos = explode(",",$_POST["amigos"]);
for($i=0; $i<=count($amigos);$i++){
	echo $amigos[$i]."<br>";
}
Pero solo me imprime el último elemento ingresado.... alguien sabe como se puede solucionar?
__________________
"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 ]
  Responder Citando
Antiguo 12-oct-2005, 13:31   #2 (permalink)
Moderadora
tunait (Reg: noviembre-2002)
 
16.367 Mensajes
Ubicación: Terok Nor
tunait está desconectado
Qué tal,

a php le llegará el valor del elemento que etuviera seleccionado en el momento de enviar el formulario. ¿Te hace lo mismo con múltiples selecciones en el campo?
  Responder Citando
Antiguo 12-oct-2005, 14:22   #3 (permalink)
wcfenix (Reg: agosto-2004)
 
168 Mensajes
Ubicación: Miraflores - Lima
Enviar un mensaje por ICQ a wcfenix Enviar un mensaje por AIM a wcfenix Enviar un mensaje por MSN a wcfenix Enviar un mensaje por Yahoo  a wcfenix Enviar un mensaje por Skype™ a wcfenix wcfenix está desconectado
Nupo...como te digo, solo recibe el último elemento. Sabes como se puede hacer para que reciba todos los elementos de la lista.
Debe existir alguna manera porque cuando imprimo directamente el valor recibido en PHP me indica que es un array.
__________________
"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 ]
  Responder Citando
Antiguo 12-oct-2005, 15:40   #4 (permalink)
Moderadora
tunait (Reg: noviembre-2002)
 
16.367 Mensajes
Ubicación: Terok Nor
tunait está desconectado
¿Yá le agregas los corchetes al nombre del campo?

<select name="nombreSelect[]">
  Responder Citando
Antiguo 12-oct-2005, 16:41   #5 (permalink)
wcfenix (Reg: agosto-2004)
 
168 Mensajes
Ubicación: Miraflores - Lima
Enviar un mensaje por ICQ a wcfenix Enviar un mensaje por AIM a wcfenix Enviar un mensaje por MSN a wcfenix Enviar un mensaje por Yahoo  a wcfenix Enviar un mensaje por Skype™ a wcfenix wcfenix está desconectado
Y como lo recibo?

Pero como lo recibo en el metodo porque al referenciarlo con los [] me da error de sintaxis en JS
__________________
"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 ]
  Responder Citando
Antiguo 12-oct-2005, 16:45   #6 (permalink)
Moderadora
tunait (Reg: noviembre-2002)
 
16.367 Mensajes
Ubicación: Terok Nor
tunait está desconectado
Accede al campo usando su id que no llevará los corchetes

<select name="nombreSelect[]" id="idSelect">

Puedes acceder entonces a él usando el método getElementById()
  Responder Citando
Antiguo 12-oct-2005, 17:00   #7 (permalink)
wcfenix (Reg: agosto-2004)
 
168 Mensajes
Ubicación: Miraflores - Lima
Enviar un mensaje por ICQ a wcfenix Enviar un mensaje por AIM a wcfenix Enviar un mensaje por MSN a wcfenix Enviar un mensaje por Yahoo  a wcfenix Enviar un mensaje por Skype™ a wcfenix wcfenix está desconectado
Ta x salir

A ver... ya recibe bien los campos pero al ser enviado el formulario. PHP lo no me devuelve los values. Por el contrario me da vacio. :S
Código:
/*Esta es mi funcion*/
function agregaMail(txt,lst){
	if( validaMail(txt) ){
		var nCorreo = txt.value;
		var canti = lst.length
		lst[canti] = new Option(nCorreo,nCorreo,"defaultSelected","selected");
		txt.value = "";
	}
}
y mi nuevo PHP es:
Código:
$amigos = explode(",",$_POST["amigos[]"]);
echo count($amigos)."<br>"; // <<< --- Ponga la cantidad que sea me devuelve 1
for($i=0; $i<=count($amigos);$i++){
	echo "Es".$amigos[$i]."<br>"; 
}
/* Solo me imprime:
Es
Es
*/
__________________
"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 ]
  Responder Citando
Antiguo 12-oct-2005, 17:56   #8 (permalink)
Moderadora
tunait (Reg: noviembre-2002)
 
16.367 Mensajes
Ubicación: Terok Nor
tunait está desconectado
Hum ... por qué no pruebas a pedírselo así

Código:
foreach($_POST["amigos[]"] as $amigo => $correo){
     echo "Es". $correo. "<br />";
     }
  Responder Citando
Antiguo 13-oct-2005, 00:57   #9 (permalink)
wcfenix (Reg: agosto-2004)
 
168 Mensajes
Ubicación: Miraflores - Lima
Enviar un mensaje por ICQ a wcfenix Enviar un mensaje por AIM a wcfenix Enviar un mensaje por MSN a wcfenix Enviar un mensaje por Yahoo  a wcfenix Enviar un mensaje por Skype™ a wcfenix wcfenix está desconectado
sory la demora...me sige dando error
__________________
"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 ]
  Responder Citando
Antiguo 14-oct-2005, 12:23   #10 (permalink)
wcfenix (Reg: agosto-2004)
 
168 Mensajes
Ubicación: Miraflores - Lima
Enviar un mensaje por ICQ a wcfenix Enviar un mensaje por AIM a wcfenix Enviar un mensaje por MSN a wcfenix Enviar un mensaje por Yahoo  a wcfenix Enviar un mensaje por Skype™ a wcfenix wcfenix está desconectado
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 ]
  Responder Citando
Respuesta
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.

Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code está Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado
Trackbacks está Desactivado
Pingbacks está Desactivado
Refbacks está Desactivado



La zona horaria es GMT -6. Ahora son las 00:50.
Políticas de Uso de Foros del Web


Message Board Statistics

SEO by vBSEO 3.3.2

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108