Foros del Web » Programando para Internet » Javascript »

location.href no me reasigna el valor???????

Estas en el tema de location.href no me reasigna el valor??????? en el foro de Javascript en Foros del Web. Quiero que, después de comprobar que se me han guardado los datos con éxito, me muestre los datos del nuevo registro.... Los datos los guardo ...
  #1 (permalink)  
Antiguo 23/02/2012, 15:17
Avatar de idmamen  
Fecha de Ingreso: mayo-2011
Mensajes: 24
Antigüedad: 13 años
Puntos: 0
Pregunta location.href no me reasigna el valor???????

Quiero que, después de comprobar que se me han guardado los datos con éxito, me muestre los datos del nuevo registro....
Los datos los guardo con ajax, por si eso tiene algo que ver ¿...?, y compruebo el resultado de la siguiente manera:



Código Javascript:
Ver original
  1. <script language="javascript">
  2.  
  3. function quehadichor(palotes){ /*palotes es la variable que contiene la respuesta,
  4. en caso de éxito cotiene "exito9" el número es el del nuevo registro 9 10..50 o el
  5. que sea...*/
  6.  
  7.     var palo=palotes.substring(0,5);
  8.  
  9.     if(palotes=="mensa"){
  10.  
  11.          alert("Los campos obligatorios están en blanco. No se guardaron los datos.");
  12.  
  13.     }elseif(palotes=="fracaso"){
  14.  
  15.          alert("Error al guardar. No se guardaron los datos.");
  16.  
  17.     }elseif(palo=="exito"){
  18.  
  19.          palo=palotes.substring(5);
  20.  
  21.          var tontaina=url.concat(palo);
  22.  
  23.          alert("Datos guardados con éxito. Registro nº "+palo+".");
  24.  
  25.           //hasta aquí todo perfecto.
  26.  
  27.          document.location.href=tontaina;  /* aquí está el problema... en firefox
  28. perfecto ... en ie y crhome no me cambia el valor es decir, la dirección que tiene
  29. url es "formpromo.php?pro=" y le añado el registro quedando de la siguiente
  30. manera xe: "formpromo.php?pro=9", bién pue el valor que da
  31. es "formpromo.php?pro=0", es decir, no me cambia el valor... ¿...?*/
  32.  
  33.         //self.location.href=tontaina;
  34.          //window.location.href=tontaina;
  35.  
  36.     }else{
  37.  
  38.          alert("Error en el envio. No se guardaron los datos");
  39.  
  40.     }
  41.  
  42. }
  43.  
  44. </script>

¿Por qué no reasigna el valor que le estoy pasando?....
  #2 (permalink)  
Antiguo 23/02/2012, 16:32
Avatar de lukas4  
Fecha de Ingreso: octubre-2008
Ubicación: frente al pc
Mensajes: 496
Antigüedad: 15 años, 6 meses
Puntos: 12
Respuesta: location.href no me reasigna el valor???????

y si lo pones asi:

Código Javascript:
Ver original
  1. var tontaina=url+palo;

nota: no evitar no reirme cuando vi el condicional palo=="exito" xD
__________________
http://situcomo.blogspot.com
Karma is a Bitch... they said
  #3 (permalink)  
Antiguo 23/02/2012, 16:37
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Respuesta: location.href no me reasigna el valor???????

También hay que ver de dónde sale el valor de la variable url
  #4 (permalink)  
Antiguo 23/02/2012, 17:01
Avatar de idmamen  
Fecha de Ingreso: mayo-2011
Mensajes: 24
Antigüedad: 13 años
Puntos: 0
Respuesta: location.href no me reasigna el valor???????

No se trata ni de donde sale ni a donde va:

si en vez de:

location.href=tontaina;

yo pongo

location.href="noexisto.php"

que por su puesto no existe... sigue dandome

formpromo.php?pro=0

que es la página donde estoy y pro es la variable que indica el número de registro, en este caso 0 porque estoy dando de alta uno nuevo

y url se lo asigno yo antes como

var url="formpromo.php?pro=";

se ve que lo que toma es el valor de la url donde estoy y no me lo cambia

si quereis verlo os digo donde está en enlace...

en firefox bién en ie y en chrome nada de nada el DOM no responde ....
  #5 (permalink)  
Antiguo 23/02/2012, 17:03
Avatar de idmamen  
Fecha de Ingreso: mayo-2011
Mensajes: 24
Antigüedad: 13 años
Puntos: 0
Respuesta: location.href no me reasigna el valor???????

XD pues no me había dado cuenta yo de lo de palo=="exito"!!!
  #6 (permalink)  
Antiguo 23/02/2012, 17:06
Avatar de idmamen  
Fecha de Ingreso: mayo-2011
Mensajes: 24
Antigüedad: 13 años
Puntos: 0
Respuesta: location.href no me reasigna el valor???????

Además le puese concat() por si me tomaba como número la respuesta... o alguna cosa de esas extrañas que hace la programación de vez den cuando... lo tenía con + lo he cambiado quinientasmil veces y el problema es que no me cambia el valor de href .....
  #7 (permalink)  
Antiguo 23/02/2012, 20:29
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Respuesta: location.href no me reasigna el valor???????

En efecto, lo mejor es que pongas un enlace para verlo online porque en esa porción de código no creo que esté el problema.
  #8 (permalink)  
Antiguo 24/02/2012, 15:06
Avatar de idmamen  
Fecha de Ingreso: mayo-2011
Mensajes: 24
Antigüedad: 13 años
Puntos: 0
Respuesta: location.href no me reasigna el valor???????

www.mmcmaroc.com/inicio.php

zona privada

usuario: tecnicoinvitado

contra: pericopalotes
  #9 (permalink)  
Antiguo 24/02/2012, 15:31
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Respuesta: location.href no me reasigna el valor???????

Lo que veo es que no estás deteniendo el envío del formulario. Es decir, por un lado, envias el formulario de manera normal y por otro querés procesar cosas con AJAX. Para enviar por ajax y esperar la respuesta del servidor deberías usar un
Código PHP:
onsubmit="return validodatos(...)" 
y tu función validodatos debería retornar false (return false) para evitar que el form se envíe.
Es lo poco que pude ver.
  #10 (permalink)  
Antiguo 24/02/2012, 15:48
Avatar de idmamen  
Fecha de Ingreso: mayo-2011
Mensajes: 24
Antigüedad: 13 años
Puntos: 0
Respuesta: location.href no me reasigna el valor???????

Acabo de probar lo que dices, pero nada, sigue igual no me deja cambiar el location.href
  #11 (permalink)  
Antiguo 24/02/2012, 15:52
Avatar de idmamen  
Fecha de Ingreso: mayo-2011
Mensajes: 24
Antigüedad: 13 años
Puntos: 0
Respuesta: location.href no me reasigna el valor???????

Si dar de alta lo da perfectamente, el ajax me hace su función perfectamente, pero si te das cuenta, retorna el valor y cuando cambio el location.href no lo hace me deja el mismo que había enviado para entrar en el formulario dando de alta.
Si te das cuenta cuando modificas le mando la identificación del producto, y como es el mismo lo hace bién, claro cambie o no cambie, como me guarda el href de la página, me refresca bién.....
....
  #12 (permalink)  
Antiguo 24/02/2012, 15:54
Avatar de idmamen  
Fecha de Ingreso: mayo-2011
Mensajes: 24
Antigüedad: 13 años
Puntos: 0
Respuesta: location.href no me reasigna el valor???????

Y si usas firefox verás como refresca y me muestra el nuevo registro, lo que no hace en chrome ni en explorer.
En otros no se porque aún no lo he probado....
  #13 (permalink)  
Antiguo 24/02/2012, 17:21
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Respuesta: location.href no me reasigna el valor???????

Otra cosa que deberías probar, que es necesaria en Explorer es esta:
En lugar de
Código PHP:
ajax.open("POST"_paginatrue); 
Probá esto:
Código PHP:
ajax.open("POST"_pagina+'?'+(+new Date()), true); 
Fuera de eso, no se me ocurre otra cosa
  #14 (permalink)  
Antiguo 24/02/2012, 17:49
Avatar de idmamen  
Fecha de Ingreso: mayo-2011
Mensajes: 24
Antigüedad: 13 años
Puntos: 0
Respuesta: location.href no me reasigna el valor???????

function validodatos(_script,formulario,contenedor){
....
ajax.open("POST", _script+'?'+(+new Date()), false);
...
quehadichor(ajax.responseText);
....
}

Nada, lo he subido para que lo veas,....

Etiquetas: ajax, php
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 17:34.