Foros del Web » Programando para Internet » Javascript »

Modificar variable antes de pasarla en el get

Estas en el tema de Modificar variable antes de pasarla en el get en el foro de Javascript en Foros del Web. Hola Lo primero gracias y si ya existe una respuesta a esto lo siento pero no la he encontrado, os cuento a ver si me ...
  #1 (permalink)  
Antiguo 19/06/2007, 01:56
 
Fecha de Ingreso: junio-2007
Mensajes: 9
Antigüedad: 17 años, 6 meses
Puntos: 0
Modificar variable antes de pasarla en el get

Hola
Lo primero gracias y si ya existe una respuesta a esto lo siento pero no la he encontrado, os cuento a ver si me podeis ayudar.

Ante todo muchas gracias a tunait, porque estoy usando su codigo.

Bien, pues teniendo en un array
Cita:
sla[2] = new slctr("PDSINET",'sla_pdsinet/operativa_pdsinet')
y el formulario en metodo get, cuando pulso el boton la url que me manda es

Cita:
aqui-url/reports/webview?rn=%252Fsystem%252FEndesa2%252Flista-sla.rep&p_tipo=sla&p_servicio=sla_pdsinet%2Foperativa_pdsinet&p_sla=Estado&p_operativa=&data=
lo que esta en negrita es lo qeu manda, que como es normal es el valor que le he dado a la variable, pero el problema es que no me sale para cambiarlo, porque lo que tendria que mandar es el nombre del servicio, que en este caso es PDSINET.

yo lo que he intentado es poner en la funcion enviardatos, que se lanza al pulsar el boton del formulario lo que esta en negrita.

Cita:
<script language="JavaScript" type="text/javascript">
function enviarDatos() {
var formulario = document.form1;
servicio=formulario.p_servicio.value;
if (formulario.p_tipo.value == 0) {
alert ("Por favor, seleccione un tipo de informe.");
return false;
}
if (formulario.p_operativa.selectedIndex == 0) {formulario.rn.value="%2Fsystem%2FEndesa2%2Flista-sla.rep";}
if (formulario.p_tipo.value == "sla") {formulario.rn.value="%2Fsystem%2FEndesa2%2Flista-sla.rep";}
if (formulario.p_tipo.value == "ola") {formulario.rn.value="%2Fsystem%2FEndesa2%2Flista-ola.rep";}
// (formulario.p_tipo.value == "sla") ? formulario.rn.value="%2Fsystem%2FEndesa2%2Flista-sla.rep" : formulario.rn.value="%2Fsystem%2FEndesa2%2Flista-ola.rep"
if (formulario.p_operativa.value != "") {formulario.rn.value="%2Fsystem%2FEndesa2%2Flista-sla-operacion.rep";}
if (servicio.substr(4,11) == "pdsinet") {formulario.p_servicio="PDSINET";}
formulario.submit();
}
</script>
Os agradezco cualquier ayuda, en otra pagina tengo ese mismo codigo y me funciona, lo mas limpio seria, si encuentra en cualquier parte de la cadena el texto "pdsinet" cambiar la cadena por "PDSINET".

Última edición por fran8557; 19/06/2007 a las 02:55 Razón: por consejo de caricatos
  #2 (permalink)  
Antiguo 19/06/2007, 02:37
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 8 meses
Puntos: 1284
Re: Modificar variable antes de pasarla en el get

Hola:

Te recomiendo que simplifiques los códigos de tus mensajes, ya que no todos tienen paciencia leyendo (yo no la tengo)
... de todos modos, sin llegar al final me parece que encontré yu problema:

Código:
if (servicio.substr(4,11) == "pdsinet") {formulario.p_servicio.value ="PDSINET";}
Debes usar el atributo value.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 19/06/2007, 02:54
 
Fecha de Ingreso: junio-2007
Mensajes: 9
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: Modificar variable antes de pasarla en el get

Cita:
Iniciado por caricatos Ver Mensaje
Hola:

Te recomiendo que simplifiques los códigos de tus mensajes, ya que no todos tienen paciencia leyendo (yo no la tengo)
... de todos modos, sin llegar al final me parece que encontré yu problema:

Código:
if (servicio.substr(4,11) == "pdsinet") {formulario.p_servicio.value ="PDSINET";}
Debes usar el atributo value.

Saludos


Gracias por el consejo caricatos, solo puse el codigo de la pagina entera porque soy consciente de lo mal que me explico y suponia que ayudaba a entender el problema, ya veo que lo que hago es liarlo mas, jeje. Ahora lo edito y quito el codigo de la web entera.
  #4 (permalink)  
Antiguo 19/06/2007, 03:01
 
Fecha de Ingreso: junio-2007
Mensajes: 9
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: Modificar variable antes de pasarla en el get

Ya de paso os cuento otra cosa que he visto, tenia mal puesto el substr, el primer caracter es donde empieza a contar, y el segundo el numero de caracteres que tiene que contar, corregido, y metiendo etiquetas write veo que las variables tienen el dato que busco, pero en el get sigue sin mandarme PDSINET, os pego las correcciones.

var SERVICIO = formulario.p_servicio.value;

if (SERVICIO.substr(4,7) == "pdsinet") {formulario.p_servicio.value="PDSINET";}

if (SERVICIO.substr(4,7) == "pdsinet") {formulario.p_servicio.value="PDSINET";}


document.write("esto es servicio " + SERVICIO);
salida "esto es servicio sla_pdsinet/operativa_pdsinet"

document.write("esto es servicio_c " + SERVICIO.substr(4,7));
salida "esto es servicio_c pdsinet"

document.write("esto es p_servicio " + p_servicio);
de este no me sale nada, pero si lo igualo a una variable directamente, me pone "PDSINET"
  #5 (permalink)  
Antiguo 19/06/2007, 03:31
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 8 meses
Puntos: 1284
Re: Modificar variable antes de pasarla en el get

Hola:

Jamás usas document.write después de cargarse la página porque machaca el contenido... prueba con una alerta o con innerHTML en alguna capa de prueba...

<div id="prueba"></div>
...
document.getElementById("prueba").innerHTML = "esto es servicio_c " + SERVICIO.substr(4,7);

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #6 (permalink)  
Antiguo 19/06/2007, 03:54
 
Fecha de Ingreso: junio-2007
Mensajes: 9
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: Modificar variable antes de pasarla en el get

Gracias otra vez caricatos, ya he cambiado por alert, me gusta mas esta forma, pero sigue sin funcionar el cambio de variable, y estoy loco, no lo entiendo.

Esto me planta un PDSINET maravilloso en la variable "p_servicio_1":
Cita:
if (SERVICIO.substr(4,7) == "pdsinet") {p_servicio_1="PDSINET";}
alert ("esto es p_servicio_1: " + p_servicio_1);

Y esto pasa olimpicamente de lo que le digo y me planta en la variable "p_servicio" el valor inicial entero y sin cortar, "sla_pdsinet/operativa_pdsinet":
Cita:
if (SERVICIO.substr(4,7) == "pdsinet") {formulario.p_servicio.value="PDSINET";}
alert ("esto es p_servicio: " + formulario.p_servicio.value);
Esto me da "sla_pdsinet/operativa_pdsinet":
Cita:
alert ("esto es servicio: " + SERVICIO);
Esto me da "pdsinet":
Cita:
alert ("esto es servicio_c: " + SERVICIO.substr(4,7));
No lo entiendo.
¿Porque no cambia cuando le digo {formulario.p_servicio.value="PDSINET";}?

gracias y un saludo.
  #7 (permalink)  
Antiguo 21/06/2007, 01:35
 
Fecha de Ingreso: junio-2007
Mensajes: 9
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: Modificar variable antes de pasarla en el get

Buenos dias a todos, os cuento lo ultimo que he intentado, he pensado, desde el desconocimiento de este lenguaje, que si el valor de la variable se lo da un array, pues que mi error seria que en vez de cambiar la variable, cambiar el valor del array con esto:

Cita:
if (form1.p_servicio.value.substr(4,7) == "pdsinet") {sla[1] = new slctr('PDSINET');}
lo unico que he conseguido es que me borre los datos del array y que no me cargue los combo, vamos que sigo igual o peor. Sigo sin entender porque precisamente esta variable no se deja modificar,

¿sera porque la variable se carga a partir de un array y se necesita hacer de otra forma?

gracias y un saludo
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 19:31.