Foros del Web » Programando para Internet » Javascript »

Después de segundo javascript "método no permitido"

Estas en el tema de Después de segundo javascript "método no permitido" en el foro de Javascript en Foros del Web. Hola tod@s. Tengo un problemilla que intentado sacar adelante pero que después de varios días me ha dejado sin energías. Voy a intentar explicarme a ...
  #1 (permalink)  
Antiguo 13/09/2011, 10:09
 
Fecha de Ingreso: septiembre-2011
Mensajes: 2
Antigüedad: 12 años, 7 meses
Puntos: 0
Después de segundo javascript "método no permitido"

Hola tod@s.

Tengo un problemilla que intentado sacar adelante pero que después de varios días me ha dejado sin energías. Voy a intentar explicarme a ver si alguien me puede dar una mano.

Tengo una página web que está por terminar. La cosa es que con dos navegadores me funciona perfectamente, explorer y firefox, y en cambio chrome y safari me dan un error. La cosa es así:

He colgado el asunto en http://www.bostonwear.com/new/es/tiendas.html
al pulsar sobre el selector de provincia, y elegir "Madrid" (el resto no están terminados), mi codigo se va a una función javascript llamada cargar1 que pinta un nuevo mapa de Madrid y debajo una serie de textos con tiendas y botones para poder verlos. El mapa en la capa mapa, el texto en una capa texto.

Entonces al pinchar en la primera tienda que aparece arriba a la izquierda (de nombre la vaguada), en Explorer y Firefox, ambos pintan de nuevo el mapa y las tiendas otra vez. Todo ello mediante una función javascript llamada cargart3 al que le paso el valor de la tienda en concreto para que la reconozca almacenado en un hidden. En Safari y Chrome no funciona, directamente como se puede ver en el hosting donde lo he subido da un error de "metodo no permitido" y si lo cuelgo en otro hosting que tengo, me recarga la página entera con el mapa inicial.

El caso es que ya no sé por donde seguir, he puesto trazas con alert, y me recorre sin problemas toda la función JS, pero no pinta en mis capas, y cuando termina como digo, o va al html inicial, o se enfada y da error.

Pongo parte del código por si alguien puede echarle un vistazo.

Llamada desde el select a la primera función cargar1:
<form name="form" id="form">
<p>
<select name="Provincia" class="lista" id="Provincia" onchange="cargar1(this.value)">
<option>Seleccionar provincia</option>
<option value="Asturias">Asturias</option>
<option value='Barcelona'>Cataluña</option>
<option value="Madrid">Madrid</option>
<option value="Murcia">Murcia</option>
<option value="Sevilla">Sevilla</option>
<option value="Valencia">Valencia</option>
<option value="Valladolid">Valladolid</option>
</select>

<input type="button" name="go_button" id= "go_button" value="Ir" onclick="cargarmapa(Centrocomercial.value)" />-->
</p>
</form>

función cargar1 (que parece funcionar bien):
function cargar1(tipo) {
alert ("hemos entrado al JS");
$('#Ciudad option').remove();
//$('#Centrocomercial option').remove();
//Ya tenemos los combos totalmente borrados
if (tipo == "Madrid") {
$('#capa_texto').html('<table width="650" border="0"><tr><td><table width="210" border="0"><tr><td>C.C. La Vaguada</td></tr><tr><td class="telefono">&nbsp;&nbsp;&nbsp;&nbsp;Teléfono: 91 730 08 95</td></tr><tr><td><form id="formt3" name="formmapa" method="post" action="" onclick="cargart3(oculto.value)">&nbsp;&nbsp;&nbsp ;&nbsp;<input type="submit" name="mapa" value="Ver en mapa" id="mapa" class="botonmapa"/><input type="hidden" name="oculto" id="hiddenField" value="vaguada" /></form></td></tr></table> ....................

$('#capa_mapa').html('<iframe width="650" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.es/maps/ms?msa=0&amp;msid=2014084 ...............

}

Y la función cargart3 que es donde yo opino que se queda el tema, después de cargarlo todo, es justamente donde la página o no carga, o se recarga con los valores iniciales!

function cargart3 (tipo) {
alert ("hemos entrado en cargart3");
alert (tipo);
if (tipo == "vaguada") {
alert ("hemos llegado a comprobar que estamos en tal o cual tienda");
$("#capa_mapa").html('<iframe width="650" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.es/maps/ms?msa=0&amp;msid=20140847176..................... ............
$('#capa_texto').html('<table width="650" border="0"><tr><td><table width="210" border="0"><tr><td>C.C. La Vaguada</td></tr><tr><td class="telefono">&nbsp;&nbsp;&nbsp;&nbsp;Teléfono: 91 730 08 95</td></tr><tr><td><form id="formt3" name="formmapa" method="post" action="" onclick="cargart3(oculto.value)">&nbsp;&nbsp;&nbsp ;&nbsp;<input type="submit" name="mapa" value="Ver en mapa" id="mapa" class="botonmapa"/><input type="hidden" name="oculto" id="hiddenField" value="vaguada" /></form></td></tr></table>................

Gracias de antemano a tod@s!
  #2 (permalink)  
Antiguo 13/09/2011, 17:43
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Después de segundo javascript "método no permitido"

buenas,
el problema no es tanto con javascript, sino la forma en que estas implementando la aplicación. el error aparece porque se realiza una acción que no es admitida. si te fijas, estas creando tantos formularios sean necesarios por cada local en el mapa. dichos formularios, como bien indicas, tienen un campo oculto y un botón. nótese dos detalles: la invocación de la función la estas realizando en un evento que no tiene tanto sentido para <form>, y el botón es de tipo submit. lo que significa que al presionar el botón se generan dos eventos: click y submit. el navegador dará prioridad a uno de ellos y en el caso de chrome parece que es al submit. lo correcto sería que en lugar de onclick usaras onsubmit y a la vez cancelaras el envio. es decir, <form onsubmit="mi_funcion(valor); return false;">.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 14/09/2011, 04:05
 
Fecha de Ingreso: septiembre-2011
Mensajes: 2
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: Después de segundo javascript "método no permitido"

Mil gracias zerokilled!!!!!!!!!!!!!!!!!!!!!!!!!!
He probado como me has dicho y todo ha funcionado a la primera y la verdad que me hacía mucha falta.
Imagino que era un error bastante fácil de detectar para alguien con conocimiento pero no es mi caso.

Lo dicho. Me pongo a cambiarlo todo y a implementar lo que me falta.

Gracias de nuevo por lo concreto, lo rápido, y util que ha sido tu comentario para mi.

Etiquetas: html, js, botones
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 18:29.