Foros del Web » Programando para Internet » Javascript »

Problema con pop-up

Estas en el tema de Problema con pop-up en el foro de Javascript en Foros del Web. Tengo el siguiente pop-up, que su javasript es Código PHP: < SCRIPT LANGUAGE = "JavaScript" > <!--  function  popUp ( URL ) { day  = new  Date (); ...
  #1 (permalink)  
Antiguo 01/09/2008, 14:38
 
Fecha de Ingreso: agosto-2006
Mensajes: 173
Antigüedad: 17 años, 8 meses
Puntos: 1
Problema con pop-up

Tengo el siguiente pop-up, que su javasript es

Código PHP:
<SCRIPT LANGUAGE="JavaScript">

<!-- 
function 
popUp(URL) {
day = new Date();
id day.getTime();
eval(
"page" id " = window.open(URL, '" id "', 'toolbar=0,scrollbars=2,location=0,statusbar=0,menubar=0,resizable=0,width=500,height=240');");
}
// -->
</script> 
Y cuando clico en

Código PHP:
<a href="javascript:popUp('frecuencias/canalist.php?canal=<?php echo urlencode($row_Recordset1["canal"]);?>')" class="menu Estilo6"><?php echo $row_Recordset1['canal']; ?></a>
Me lleva a una pagina con los resultados de la base de datos, el problema es el siguiente

Que en el enlace que se crea cuando aparece el signo + no funciona, ese signo + en la cadena de la url se deberia de sustituir por %2B

Por ejemplo, la pagina al clicar sobre un canal que lleva el signo + me lo muestra asi

http://www.deporte-tv.es/frecuencias...%20Sports%20+1

Cuando para que pille los datos de la base de datos deberia de mostrarmelo asi

http://www.deporte-tv.es/frecuencias...0Sports%20%2B1

Es decir, sustituir del enlace el signo + por el %2B.

¿Esto se podría hacer desde el codigo javascript?, decirle que si en la url existe el signo +, lo cambie por %2B

Llevo todo el día liado con lo mismo, pero creia que seria problema del php y no es asi, el tema ya lo deje en esta zona

http://www.forosdelweb.com/f18/problema-simbolo-620178/

Pero despues de muchas pruebas, la conclusion es que se hace con javascript y no tengo mucha idea

Muchas gracias por vuestras respuestas y por vuestra aportación
  #2 (permalink)  
Antiguo 01/09/2008, 14:43
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Problema con pop-up

Puedes hacer sucesivas llamadas a replace comprobando con indexOf que el signo + exista en la cadena.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 01/09/2008, 14:55
 
Fecha de Ingreso: agosto-2006
Mensajes: 173
Antigüedad: 17 años, 8 meses
Puntos: 1
Respuesta: Problema con pop-up

No quiero ser pesado, pero es que no tengo ni idea, soy muy novato y voy poco a poco aprendiendo.

Como podria hacerlo, ¿serias tan amable de orientarme con el codigo?

Gracias y perdona las molestias
  #4 (permalink)  
Antiguo 01/09/2008, 15:07
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Respuesta: Problema con pop-up

Ejemplo:
Código PHP:
function replaceall(textfindby) {
while (
text.indexOf(find) != -1) {
    
text text.replace(findby)
  }
return 
text;

indexOf lo que hace es buscar en el texto si existe una cadena, en este caso vemos si la cadena existe en el texto, si existe usar replace, replace reemplaza la primera aparición del texto por otro. Entonces con el bucle vamos reemplazando todas las apariciones del texto. Un ejemplo sería:
Código PHP:
alert(replaceall("Quiero que la coma, se converta en, punto"","".")); 
Mostraría un cuadro:
Código:
Quiero que la coma. se converta en. punto
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 01/09/2008, 15:12
 
Fecha de Ingreso: agosto-2006
Mensajes: 173
Antigüedad: 17 años, 8 meses
Puntos: 1
Respuesta: Problema con pop-up

El problema es que la cadena donde aparece el signo +, me lo tiene que dar php con una consulta a la base de datos

Código PHP:
<a href="javascript:popUp('frecuencias/canalist.php?canal=<?php echo urlencode($row_Recordset1["canal"]);?>')" class="menu Estilo6"><?php echo $row_Recordset1['canal']; ?></a>
<?php echo urlencode($row_Recordset1["canal"]);?>

Lo que he marcado en rojo, es lo que me daria la cadena con +, en caso de que el canal llevase el signo +

Yo he probado con esto

Código PHP:
 {
out "+"
add "%2B"
temp "" entry;

while (
temp.indexOf(out)>-1) {
postemp.indexOf(out);
temp "" + (temp.substring(0pos) + add 
temp.substring((pos out.length), temp.length));
}
document.subform.text.value temp;

Lo he visto y pense que podia servirme, pero nada de nada, no me sirve, cuando lo intento me sigue saliendo como antes, no me da resultado
  #6 (permalink)  
Antiguo 01/09/2008, 15:15
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Problema con pop-up

El reemplazo lo puedes hacer directamente en la función popUp que está recibiendo la dirección en el parámetro URL, puedes trabajar con ese parámetro .
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 01/09/2008, 15:29
 
Fecha de Ingreso: agosto-2006
Mensajes: 173
Antigüedad: 17 años, 8 meses
Puntos: 1
Respuesta: Problema con pop-up

Ok muchas gracias, solucionado
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 14:19.