Foros del Web » Programando para Internet » Javascript »

Mandar formulario en Javascript metodo post

Estas en el tema de Mandar formulario en Javascript metodo post en el foro de Javascript en Foros del Web. Buenos días, estoy haciendo una web y en una parte debo seleccionar un valor de una lista escrita MANUALMENTE (nada de php) por lo que ...
  #1 (permalink)  
Antiguo 15/12/2011, 18:34
Avatar de m1991lp  
Fecha de Ingreso: mayo-2009
Ubicación: BCN
Mensajes: 16
Antigüedad: 15 años
Puntos: 4
Exclamación Mandar formulario en Javascript metodo post

Buenos días, estoy haciendo una web y en una parte debo seleccionar un valor de una lista escrita MANUALMENTE (nada de php) por lo que uso Javascript, lo que no se es como mandar el formulario en metodo post, lo he probado de una manera pero se manda en GET, y no funciona poner document.method = "post"... (o algo así) Haber si alguien me puede echar un cable porfavor, tengo lo siguiente...

El problema es que según la opción seleccionada se mande a la web, pero pasandole el value correspondiente, lo hice, pero sólo se manda en GET y no se hacerlo en post... porfavor

Código:
<script type="text/javascript">
function CanviarPreu(a,b)
{
if(b > 0){
document.getElementById("precio").in… = a + "," + b + "€";
CanviarID()
}else
{
document.getElementById("precio").in… = a + "€";
CanviarID()
}
}

function CanviarID()
{
var indice = document.sele.producto.selectedIndex
var valor = document.sele.producto.options[indice].value
alert(valor)
EnviarForm(valor)
}

function EnviarForm(valor)
{
document.write("<form name='cart_quantity' id='cart_quantity' method='post' action='http://www.paginaprueba.html?productoid=+valor+"&amp;action=buy_now&amp;
}
</script>
Código HTML:
<body>

<select name="producto" id="producto" style="font-size:18px;border:1px solid #ff6600;margin-top:5px;">
<option value="1" name="opcion" onClick="javascript:CanviarPrecio(11,85)… x 122cm (11,85€)</option>
<option value="2" name="opcion" onClick="javascript:CanviarPreu(25,25)">… x 122cm (25,25€)</option>
<option value="3" name="opcion" onClick="javascript:CanviarPreu(39,75)">… x 122cm (39,75€) </option>
<option value="4" name="opcion" onClick="javascript:CanviarPreu(41,70)">… x 122cm (41,70€)</option>
<option value="5" name="opcion" onClick="javascript:CanviarPreu(54,95)">… x 122cm (54,95€)</option>
<option value="6" name="opcion" onClick="javascript:CanviarPreu(71,25)">… x 122cm (71,25€)</option>
<option value="7" name="opcion" onClick="javascript:CanviarPreu(115,35)"… x 122cm (115,35€)</option>
<option value="8" name="opcion" onClick="javascript:CanviarPreu(243,67)"… x 122cm (243,67€)</option>
</select>
</body> 
  #2 (permalink)  
Antiguo 15/12/2011, 21:51
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 3 meses
Puntos: 177
Respuesta: Mandar formulario en Javascript metodo post

Realmente no entiendo lo que querés hacer , a ver si esto te ayuda un poco

Código Javascript:
Ver original
  1. <form id="form1" name="form1" method="post" action="">
  2.   <select name="ir_aca" id="ir_aca" onchange="this.form.submit()">
  3.     <option value="1" >uno</option>
  4.     <option value="2">dos</option>
  5.     <option value="3">etc...</option>
  6.   </select>
  7. </form>
__________________
la la la
  #3 (permalink)  
Antiguo 16/12/2011, 02:36
Avatar de m1991lp  
Fecha de Ingreso: mayo-2009
Ubicación: BCN
Mensajes: 16
Antigüedad: 15 años
Puntos: 4
Respuesta: Mandar formulario en Javascript metodo post

Voy a probarlo gracias ^^
  #4 (permalink)  
Antiguo 16/12/2011, 05:37
Avatar de m1991lp  
Fecha de Ingreso: mayo-2009
Ubicación: BCN
Mensajes: 16
Antigüedad: 15 años
Puntos: 4
Respuesta: Mandar formulario en Javascript metodo post

Primero perdón por postear 2 veces seguidas...

Segundo, lo que quiero hacer es mandar lo siguiente, pero con POST, lo que tengo ahora es en GET y lo quiero mandar en post...

Código:
<script type="text/javascript">

function CanviarPreu(a,b)
{ 
	if(b > 0){
		document.getElementById("precio").innerHTML = a + "," + b + "€";
		CanviarID()
	}else
	{
		document.getElementById("precio").innerHTML = a + "€";
		CanviarID()
	}
}

function CanviarID()
{
	var indice = document.cart_quantity.producto.selectedIndex 
	var valor = document.cart_quantity.producto.options[indice].value
	//alert(valor)	
	document.forms.cart_quantity.action = "http://www.recibo.com/valor.html?products_id="+valor+"&amp;action=buy_now&amp;sort=4a";
}
</script>
<form name="cart_quantity" id="cart_quantity" method="post">

<select name='producto' id='producto' style='font-size:18px;border:1px solid #ff6600;margin-top:5px;'>
<option value='46' name='opcion' onClick='CanviarPreu(11,25)'>10cm x 122cm (1,25€)</option>
<option value='32' name='opcion' onClick='CanviarPreu(20,25)'>>30cm x 122cm (2,25€)</option>
<option value='115' name='opcion' onClick='CanviarPreu(33,75)'>>50cm x 122cm (3,75€) </option>
<option value='34' name='opcion' onClick='CanviarPreu(40,50)'>60cm x 122cm (4,50€)</option>
<option value='35' name='opcion' onClick='CanviarPreu(55,50)'>80cm x 122cm (5,50€)</option>
<option value='36' name='opcion' onClick='CanviarPreu(69,0)'>100cm x 122cm (6€)</option>
<option value='39' name='opcion' onClick='CanviarPreu(111,25)'>150cm x 122cm (10,25€)</option>
<option value='43' name='opcion' onClick='CanviarPreu(200,25)'>200cm x 122cm (20,25€)</option>
</select>";

</form>

Última edición por m1991lp; 16/12/2011 a las 06:35
  #5 (permalink)  
Antiguo 16/12/2011, 07:17
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 3 meses
Puntos: 177
Respuesta: Mandar formulario en Javascript metodo post

realmente no entiendo porque haces esta linea
document.forms.cart_quantity.action = "http://www.recibo.com/valor.html?products_id="+valor+"&amp;action=buy_no w&amp;sort=4a";

ahí estás enviando las variables por GET
?products_id="+valor+"&amp;action=buy_now&amp;sort =4a


lo que dice si el form se envia por POST o GET es esto method="post"

pero a la vez se pueden enviar por los dos métodos

ejemplo:

<form name="cart_quantity" id="cart_quantity" method="post" action="index.html?variable_get=hola">

ahi se envia por GET la variable llamada variable_get y a la vez por tener el method="post" , también se envian por POST, los campos del formulario.
Entonces, el código que te pasé antes envia el formulario al cambiar o seleccionar una opcion del select desplegable no hace falta llamar a las funciones jevasrcipt que estás llamando, quedando algo así:


Código HTML:
Ver original
  1. <form name="cart_quantity" id="cart_quantity" method="post">
  2.  
  3. <select name='producto' id='producto' style='font-size:18px;border:1px solid #ff6600;margin-top:5px;' onchange="this.form.submit()">
  4. <option value='46' name='opcion' onClick='CanviarPreu(11,25)'>10cm x 122cm (1,25)</option>
  5. <option value='32' name='opcion' onClick='CanviarPreu(20,25)'>>30cm x 122cm (2,25)</option>
  6. <option value='115' name='opcion' onClick='CanviarPreu(33,75)'>>50cm x 122cm (3,75) </option>
  7. <option value='34' name='opcion' onClick='CanviarPreu(40,50)'>60cm x 122cm (4,50)</option>
  8. <option value='35' name='opcion' onClick='CanviarPreu(55,50)'>80cm x 122cm (5,50)</option>
  9. <option value='36' name='opcion' onClick='CanviarPreu(69,0)'>100cm x 122cm (6)</option>
  10. <option value='39' name='opcion' onClick='CanviarPreu(111,25)'>150cm x 122cm (10,25)</option>
  11. <option value='43' name='opcion' onClick='CanviarPreu(200,25)'>200cm x 122cm (20,25)</option>
  12.  
  13. </form>

El evento onchange="this.form.submit()" es el encargado de enviar el formulario, esto, traducido al español sería:
Cuando haya un cambio o cuando se seleccione una opcion, envíame el formulario.

El formulario se enviará depende lo que diga el atributo action="" del formulario, si está vacio, se enviará al archivo actual, osea se enviará a sí mismo.

En tu caso, según lo que veo, lo queré enviar a http://www.paginaprueba.html
__________________
la la la

Última edición por truman_truman; 16/12/2011 a las 07:28
  #6 (permalink)  
Antiguo 16/12/2011, 08:11
Avatar de m1991lp  
Fecha de Ingreso: mayo-2009
Ubicación: BCN
Mensajes: 16
Antigüedad: 15 años
Puntos: 4
Respuesta: Mandar formulario en Javascript metodo post

ohhh! muchíssimas gracias de verdad me has ayudado muchoo ^^ thnks compañero :D

PD: Solucionado gracias!! al final lo paso con get que es como tenía que hacerlo xD

Última edición por m1991lp; 16/12/2011 a las 09:47

Etiquetas: formulario, m1991lp, post
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 12:06.