2010-02-04 3 views
5

je suis arrivé cette choseécho javascript avec des guillemets simples

<? 
if (mysql_num_rows($say) == 1) { 
    $a = "cicişsin!"; 
} 
elseif (mysql_num_rows($say) == 0) { 
    $a = "<a href='javascript:LaunchPopup('a2.php','250','1');'>ciciş yap</a>"; 
} 
?> 

, mais je ne peux pas écho seconde $ a .. ses sorties à « javascript: LaunchPopup (» guillemets simples non représentés

Que puis-je faire?

Répondre

11
$a = "<a href=\"javascript:LaunchPopup('a2.php','250','1');\">ciciş yap</a>"; 
+2

Soit correct: $ a = "ciciş yap"; –

+2

Beter, à mon humble avis. $ a = "cicis yap" – Lucas

0

la barre oblique inverse, quelque chose comme ceci:

$a = "<a href='javascript:LaunchPopup(\"a2.php\",\"250\",\"1\");'>ciciş yap</a>"; 
1

échapper aux citations comme ce

"<a href=\"javascript:LaunchPopup(\'a2.php\',\'250\',\'1\');\">ciciş yap</a>" 
-3
$a = "<a href='javascript:LaunchPopup(a2.php,250,1)'>ciciş yap</a>"; 

travaillera pour vous

+1

non, ne sera pas (15chars) –

+0

en fait cela va fonctionner. –

+0

@Rubens Peut-on être spécifique car j'obtiens le "javascript: LaunchPopup (a2.php, 250,1)" sur la barre des tâches onb en survolant le lien ... Je crois que ça marchera. –

3

Ne jamais utiliser javascript: URL. Mettez l'URL dans le href attribut où il appartient:

$a= '<a href="a2.php" onclick="LaunchPopup(this.href, 250, 1); return false;">ciciş yap</a>'; 

Maintenant, non seulement ne vous avez pas à vous soucier de la fuite (en supposant que vous pouvez vous en sortir avec des numéros de passage que les autres arguments), mais aussi votre lien maintenant fonctionne correctement lorsqu'il est cliqué au milieu ou mis en signet, au lieu de donner une erreur JavaScript.

Mieux encore, les scripts discret:

<a href="a2.php" class="popup">ciciş yap</a> 

<script type="text/javascript"> 
    for (var i= document.links.length; i-->0;) { 
     if (document.links[i].className==='popup') { 
      document.links[i].onclick= function() { 
       LaunchPopup(this.href, '250', '1'); 
       return false; 
      } 
     } 
    } 
</a> 

Gardez le code de script dans les scripts et de balisage, alors vous n'avez pas à vous soucier de-escaping HTML.

Questions connexes