Foros del Web » Programando para Internet » Javascript » Frameworks JS »

enviar input nombre[] como cadena

Estas en el tema de enviar input nombre[] como cadena en el foro de Frameworks JS en Foros del Web. HOLA!!: como puedo enviar mi formulario ke tiene input con el mismo nombre cantidad[] para ke el server los reciba como una cadena ? he ...
  #1 (permalink)  
Antiguo 16/07/2006, 23:02
 
Fecha de Ingreso: mayo-2004
Mensajes: 6
Antigüedad: 20 años, 6 meses
Puntos: 0
enviar input nombre[] como cadena

HOLA!!:

como puedo enviar mi formulario ke tiene input con el mismo nombre cantidad[] para ke el server los reciba como una cadena ?

he intentado con document.getElementById pero solo me da el valor del primero y kiero enviar varios
ke funcion javascript puedo usar???
gracias espero ke me entiendan la pregunta

adios pues
  #2 (permalink)  
Antiguo 17/07/2006, 02:15
Avatar de NzO
NzO
 
Fecha de Ingreso: abril-2005
Mensajes: 153
Antigüedad: 19 años, 8 meses
Puntos: 3
Cuando te refieres a cadena supongo q dices:
cantidad[]=5&cantidad[]=25&cantidad[]=60

Si es asi decirte que no hay funcion que te haga eso directamente. Tendras que recorrer el formulario campo por campo e ir almacenandolo en una variable. No hay otra manera :/

PD: Ese problema lo tube yo, y al final pude solucionarlo. http://isiajax.sourceforge.net/demos/dataform.html
Cuando llegue a mi casa te paso el codigo de la funcion. El que esta colgado es el codigo comprimido y no esta limpio.
__________________
NzO=EnZo
isiAJAX & isiXML hechos el uno para el otro.
  #3 (permalink)  
Antiguo 17/07/2006, 02:22
Avatar de NzO
NzO
 
Fecha de Ingreso: abril-2005
Mensajes: 153
Antigüedad: 19 años, 8 meses
Puntos: 3
Aunque este en sucio te he hecho un ejemplo de uso y supongo que te valdra.

Código HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<script language="javascript">
function DataForm(obj){
var resultado='';this.Add=
function(nombre,valor){resultado+=nombre+'='+valor;if((i+1)< obj.length)
resultado+='&';};for(i=0;i<obj.length;i++){var tipo=obj[i].type;var nombre=obj[i].name;if(tipo=='select-multiple'){var n=0;for(j=0;j<obj[i].options.length;j++)
if(obj[i].options[j].selected)
this.Add(nombre,obj[i].options[j].value);}
else if(tipo=='radio'||tipo=='checkbox'){if(obj[i].checked)
this.Add(nombre,obj[i].value);}
else
this.Add(nombre,obj[i].value);}
return(resultado);}
</script>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<form name="form1" method="post" action="">
  <p>
    <input type="text" name="cantidad[]">
</p>
  <p>
    <input type="text" name="cantidad[]">
</p>
  <p>
    <input type="text" name="cantidad[]">
  </p>
</form>
<a href="javascript:alert(DataForm(document.form1));">Probar</a>
</body>
</html> 
Pero ya te digo cuando vaya a casa te paso el codigo limpio por si te interesa estudiarlo. Saludos.
__________________
NzO=EnZo
isiAJAX & isiXML hechos el uno para el otro.
  #4 (permalink)  
Antiguo 17/07/2006, 13:43
 
Fecha de Ingreso: mayo-2004
Mensajes: 6
Antigüedad: 20 años, 6 meses
Puntos: 0
Bueno mil gracias la cosa va asi:
tengo el juego de input

<input name='cantidad[]' value='01'>
<input name='cantidad[]' value='02'>
<input name='cantidad[]' value='03'>

Kiero enviarlos todos como un array entonces si los busco asi:
document.getElementsByName('cantidad[]')[0].value
Efectivamente aparece el valor
pero lo ke kiero es ke envie todos como una cadena, es decir como si lo enviara con un submit del Formulario

Espero me puedan ayudar
  #5 (permalink)  
Antiguo 17/07/2006, 14:54
 
Fecha de Ingreso: mayo-2004
Mensajes: 6
Antigüedad: 20 años, 6 meses
Puntos: 0
Bueno asi ha kedado

function prueba_response(){

cadena = new Array();
for(x=0;x<document.getElementsByName('cantidad[]').length;x++)
{
cadena= cadena + 'cantidad[]='+document.getElementsByName('cantidad[]')[x].value+'&';
}

xmlhttp = response();
xmlhttp.open("POST", "guardar.ink.php",true);
xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
var variables = cadena;
xmlhttp.send(variables);
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4)
{
alert(xmlhttp.responseText);
}
}
}

Última edición por Walo_punk; 17/07/2006 a las 17:58
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.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:32.