Comunidad de diseño web y desarrollo en internet online

window.open no sirve en codigo PHP, por qué?

Citar            
MensajeEscrito el 18 Jun 2008 08:00 pm
Hola nuevamente, tengo un problema que me empieza a sacar de quicio, resulta que quiero abrir una ventana emergente al dar click sobre ella. Utilicé el siguiente codigo que funciona bien en codigo html normal.

Código :

<a href="mipagina.html" onclick="window.open(this.href,'window','width=670, height=450');return false">
     <img src="imagenes/mi_imagen.jpg" width="100" height="27" border="0">
</a>


pero la cuestion es que necesito usarlo en codigo php, asi que cambié todas las comillas dobles por comillas simples para que quede de la siguiente manera:

Código :

echo "<a href='mipagina.html' onclick='window.open(this.href,'window','width=670, height=450');return false'><img src='imagenes/mi_imagen.jpg' width='100' height='27' border='0'></a>";


pero entonces ya no abre una ventana emergente si no que me abre el enlace en la misma pagina y obviamente no me respeta ni ancho ni alto. Espero puedan ayudarme y decirme qué estoy haciendo mal. Gracias nuevamente.

Por NeoAnderson

10 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 18 Jun 2008 08:02 pm
Perdon, en el mensaje anterior quiero decir que quiero abrir una ventana emergente al dar click sobre una imagen.

Por NeoAnderson

10 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 18 Jun 2008 09:10 pm
Te aconsejo que no uses popups más que para cosas MUY puntuales.
Si ya has tenido en cuenta eso, sigue leyendo:

Código :

echo '<a href="mipagina.html" onclick="window.open(this.href,\'window\',\'width=670, height=450\');return false"><img src="imagenes/mi_imagen.jpg" width="100" height="27" border="0"></a>';


Conceptos:
  • Cuando una cadena, tiene dentro unas comillas del mismo tipo que las que definen la cadena, hay que "escaparlas"; es lo que llamamos "comillas anidadas".
    Las comillas, se "escapan" con la "barra invertida" (\).
    La "barra invertida", se "escapa" con otra "barra invertida" (\\)
    $string='Hola, me llamo 'David'.'; //mal, por no escapar las comillas
    $string='Hola, me llamo \'David\'.'; //bien
    $string='c:\\windows\\tmp'; //bien
    Comillas de distinto tipo, no se necesitan escapar.
    $string='Hola, me llamo \"David\".'; //mal, comillas distintas anidadas, no se escapan
    $string='Hola, me llamo "David".'; //bien
  • Nunca uses comillas dobles para referirte a un $string (cadena de texto).
    $string="valor"; //inapropiado
    $string='valor'; //apropiado
  • Cuando vayas a escribir xHTML, o un $string que contenga xHTML, usa las comillas dobles SOLO para los atributos, como recomienda la W3C.
    $string='<img src=\'pagina.htm\' />'; //inapropiado
    $string='<img src="pagina.htm" />'; //apropiado
  • Usa comillas dobles para definir $strings cuando quieras interptetar variables dentro de la cadena en PHP (en JavaScript, nunca)
    $string='Hola, me llamo $nombre'; //no se puede
    $string="Hola, me llamo $nombre"; //se puede
  • Intenta evitar el punto anterior, y actúa en PHP, como en JS, es decir, concatenando las variables con los $strings, usando el (.) o el (+), respectivamente.
    $string="Hola, me llamo $nombre"; //se puede
    $string='Hola, me llamo '.$nombre; //pero así mucho mejor
Esto, son consejos para un principiante.
Cuando seas un experto en PHP/PS, podrás (y de hecho lo harás) saltártelos todos.

Por El Oso Amoroso

Claber

1780 de clabLevel

6 tutoriales

 

Madrid, España, Europa, Eurasia, La Tierra, Sist.Solar, Vía Láctea, UNIVERSO

firefox
Citar            
MensajeEscrito el 18 Jun 2008 09:27 pm
Una vez mas mil gracias rizome, ya es la segunda vez que resuelves mi problema a la perfeccion. Efectivamente tenía que "escapar" todas las dobles comillas y con eso se resolvía el problema.

Por NeoAnderson

10 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 24 Jun 2008 11:47 pm
Buen aporte, gracias me ha servido bastante!

Espero ver otros post como este. No se lo digo a el creador del tema, sino a ti que lo lees! creo que no te tomara mas de un minuto, ami me tomo 32.5 segunos!

Por haggard

33 de clabLevel



Genero:Masculino  

opera
Citar            
MensajeEscrito el 28 May 2013 07:29 pm
Hola, pues yo tengo el mismo problema me gustaria un poco de ayuda, ya que lei lo que comento "El Oso Amoroso" y lo tengo de esta manera:

Código PHP :

echo "<input type=button name=cmdCal value=Launch Calenda onClick=\'javascript:window.open(\'calendar.php?form=form1&field=txtDate\',\'\',\'top=50,left=400,width=175,height=140,menubar=no,toolbar=no,scrollbars=no,resizable=no,status=no\'); return false;>";


Pero no me levanta la ventana!

Ayuda por favor!

Por head777

0 de clabLevel



 

firefox
Citar            
MensajeEscrito el 29 May 2013 04:53 pm
mejor usar la otra forma

Código PHP :

$variable = <<<HTML
<a href="mipagina.html" onclick="window.open(this.href,'window','width=670, height=450');return false">
     <img src="imagenes/mi_imagen.jpg" width="100" height="27" border="0">
</a>
HTML;

Por tuadmin

Claber

598 de clabLevel



Genero:Masculino  

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.