Foros del Web » Programando para Internet » Javascript »

Enviar form sin submit y otra variable

Estas en el tema de Enviar form sin submit y otra variable en el foro de Javascript en Foros del Web. Hola, tengo un formulario en el cual recojo una entrada y luego tengo un mapa mundial con las areas ya definidas sobre el cual el ...
  #1 (permalink)  
Antiguo 17/07/2009, 07:49
 
Fecha de Ingreso: junio-2009
Mensajes: 115
Antigüedad: 14 años, 10 meses
Puntos: 0
Enviar form sin submit y otra variable

Hola, tengo un formulario en el cual recojo una entrada y luego tengo un mapa mundial con las areas ya definidas sobre el cual el cliente tiene que hacer click para buscar esa entrada recogida en el form en el area geografica especificada en el mapa, el problema es q estoy utilizando onClick, pero solo puedo enviar el form, pero no se como recoger el nombre de la zona geografica donde apreto el cliente, alguien podria exarme una mano por favor?
  #2 (permalink)  
Antiguo 17/07/2009, 07:57
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Enviar form sin submit y otra variable

Primero: ¿que utilizas para general el mapa, flash, imagemap, googlemaps?
Segundo: puedes llamar al submit desde javacript:

Código HTML:
<script>
function enviar(){
document.getElementById('id_del_form').submit();
}
</script> 
  #3 (permalink)  
Antiguo 17/07/2009, 08:05
 
Fecha de Ingreso: junio-2009
Mensajes: 115
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Enviar form sin submit y otra variable

hola maycolalvarez, pues utilizo imagemap, mi codigo es el siguiente:

<form name="hola" action="muestra.php?CONTINENTE=Oceania" method="POST">
<input type="text" name="palabra" value="ma" />

<h4> Busqueda geografica: <h4>
<h6> Seleccione una o varias extensiones: <h6>

<map name="unnamed">
<area shape="poly" title="Oceania" alt="Oceania" nohref onClick="hola.submit()" target="_self" coords="380,210,381,212,381,215,379,219,379,222,37 8,225,375,231,375,234,376,236,376,242,377,244,377, 247,378,249,378,252,380,256,380,262,381,264,381,27 0,382,272,388,272,392,270,395,270,397,269,400,269, 402,268,405,268,413,272,414,275,416,277,418,278,42 0,282,422,284,424,285,426,287,434,291,437,291,439, 292,442,292,444,293,447,293,453,290,456,290,458,28 9,464,277,463,275,461,274,458,273,452,273,450,274, 438,274,436,275,432,273,431,271,431,265,433,261,43 3,258,427,246,427,240,430,234,430,222,429,220,423, 220,421,221,409,215,405,211,402,209,401,206,399,20 2,397,201,391,201,389,200,387,202,383,210,383,213, 382,215" />
<area shape="poly" title="Asia" alt="Asia" href="muestra.php?CONTINENTE=Asia" target="_self" coords="276,94,276,103,274,107,274,110,273,113,273 ,125,276,131,278,133,279,135,279,138,280,140,284,1 42,285,144,287,146,287,149,285,153,287,155,290,161 ,292,162,293,164,291,168,289,169,286,169,284,170,2 81,170,280,172,278,173,276,177,276,180,280,188,282 ,190,288,202,291,202,293,203,299,203,300,201,304,1 99,308,195,309,192,310,190,322,190,323,192,325,193 ,328,199,328,202,330,203,331,206,333,210,335,211,3 38,211,339,209,342,209,358,217,360,219,361,221,363 ,223,365,224,366,226,370,228,371,226,373,224,374,2 22,374,195,376,193,380,191,383,191,385,189,387,188 ,389,184,391,182,397,179,400,179,402,178,405,178,4 15,173,417,171,419,167,419,164,420,162,420,153,419 ,151,420,149,420,146,421,144,421,138,425,136,431,1 36,432,138,434,139,440,139,441,137,445,135,446,133 ,447,129,447,126,449,124,450,122,452,121,455,120,4 58,120,460,119,463,118,464,116,466,115,467,113,467 ,107,468,105,471,102,473,101,474,103,476,104,478,1 03,480,99,476,97,474,93,471,93,468,92,466,90,464,8 9,449,89,446,88,444,87,441,86,431,81,430,79,428,77 ,427,75,427,72,428,70,432,68,430,64,428,63,425,63, 419,61,413,61,409,63,408,66,407,68,405,69,403,71,4 01,72,389,72,383,69,383,66,380,60,380,57,379,55,37 7,54,374,48,372,46,372,43,371,40,369,36,367,34,365 ,30,363,29,362,27,360,26,351,26,346,36,346,39,347, 41,349,42,350,44,352,45,354,49,355,52,357,54,356,5 7,355,59,353,60,352,62,348,64,346,68,344,69,342,71 ,338,73,335,73,331,75,325,75,323,73,321,69,321,66, 323,62,323,59,322,57,320,55,317,55,316,57,310,60,3 09,62,305,64,304,66,302,67,300,69,298,70,295,76,29 3,78,290,80,289,82,283,85,281,87,279,88,278,90,276 ,91,275,93" onClick="return leer();"/>
<area shape="poly" title="Europa" alt="Europa" href="muestra.php?CONTINENTE=Europa" target="_self" coords="222,...../>
<area shape="poly" title="America del Sur" alt="America del Sur" href="muestra.php?CONTINENTE=Sur" target="_self" coords="112,203,114..../>
<area shape="poly" title="Africa" alt="Africa" href="muestra.php?CONTINENTE=Africa" target="_self" coords="222,174,225,174,...../>
<area shape="poly" title="America del Norte" alt="America del Norte" href="muestra.php?CONTINENTE=Norte" target="_self" coords="108,200,110,199,......./>
</map>
<CENTER>
<IMG {border-style: none; src = "mapa-mundi.jpg" usemap = "#unnamed">
</CENTER>
</form>

y mi intencion es enviar la variable continente junto al form, pero de forma dinamica esto es q continente vaya tomando el valor q corresponda a la zona apretada.
mychas gracias x tu interes
  #4 (permalink)  
Antiguo 17/07/2009, 08:12
 
Fecha de Ingreso: agosto-2006
Mensajes: 179
Antigüedad: 17 años, 8 meses
Puntos: 0
Respuesta: Enviar form sin submit y otra variable

Bueno, mi idea es la siguiente, create un input de tipo hidden, y cuando hagas clic sobre la imagen, le cargas el valor del continente a ese hidden y luego si envias el formulario.

Aclaracion: El hidden debe ir dentro del form para que lo tome como variable del formulario.

Saludos, espero te ayude.
  #5 (permalink)  
Antiguo 17/07/2009, 08:14
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Enviar form sin submit y otra variable

Bueno, modifica el href de tus areas:

Código HTML:
<area ...href="muestra.php?CONTINENTE=Europa" /> 
por una función en javascript:

Código HTML:
<script>
function enviar(continente){
var form = document.getElementById('id_del_form');

var inputcontinente =document.getElementById('id_del_inputcontinente ');
inputcontinente.value=continente;

form.submit();
}
</script>


<area ...href="javascript:enviar('Europa');" />

o con onclick:


<area ...onclick="enviar('Europa');" /> 
  #6 (permalink)  
Antiguo 17/07/2009, 08:38
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Enviar form sin submit y otra variable

Tema trasladado desde PHP
  #7 (permalink)  
Antiguo 17/07/2009, 10:35
 
Fecha de Ingreso: junio-2009
Mensajes: 115
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Enviar form sin submit y otra variable

Gracias a ambos por vuestras respuestas, pero tenia una duda mycolalvarez, es q soy novato en todo esto y no acabo de entender muy bien tu codigo, el caso es que hago esto:
<script>
function enviar(continente){
var form = document.getElementById('tp');

var inputcontinente =document.getElementById(continente);
inputcontinente.value=continente;

form.submit();
inputcontinente.submit();
}
</script>
<form id='tp' name="hola" action="muestra.php" method="POST">
<input type="text" name="palabra" value="" />

<h4> Busqueda geografica: <h4>
<h6> Seleccione una o varias extensiones: <h6>

<map name="unnamed">
<area id='oceania' shape="poly" title="Oceania" alt="Oceania" nohref onclick="enviar('oceania');"....................
<area id='asia' shape="poly" title="Asia" alt="Asia" nohref onclick="enviar('asia');"
y el resto siguien el mismo patron.

El problema es q no entiendo esto de aki:
var inputcontinente =document.getElementById('id_del_inputcontinente ');
inputcontinente.value=continente;

ya q el id_del_inputcontinente yo lo desconozco hasta q el cliente aprete en una zona y en ese momento valdra lo q valga el valor de entrada de la funcion enviar no?.
A ver si me puedes aclarar esa duda y muchas gracias de antemano
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 15:59.