2009-12-24 6 views
0

** cette ligne ne fonctionne pas correctement/r fonctionne mais $ siteurl /% s-% s.html ne marche pas je pense que le problème de ("") ou ('') aide s'il vous plaît à le réparerOnClick Emplacement Not Work

printf("<a href='/r?%s' target=_blank onClick='window.open(location.href=$siteurl/%s-%s.html)>", $wurl, $myrow["wallpaperid"], $myrow["wallpapername"]); 

Répondre

1

Votre attribut onClick manque le guillemet simple de fin. Voici ce que je pense qu'il devrait être:

printf("<a href='/r?%s' target=_blank onClick='window.open(location.href=$siteurl/%s-%s.html)'>", $wurl, $myrow["wallpaperid"], $myrow["wallpapername"]); 

BTW: J'ai eu du mal à lire même cette seule ligne. Pensez à mettre votre code en retrait pour le rendre lisible par l'homme. Aussi, je recommande de ne pas utiliser la substitution de variable (le $ siteurl var dans votre chaîne) quand vous utilisez printf quand même. Je veux dire, utilisez le même mécanisme pour faire la même chose. N'utilisez que la substitution var ou n'utilisez que le formatage printf, pas les deux. Exemple:

$html = ' 
    <a href="/r?%s" 
     target=_blank 
     onClick="window.open(location.href=%s/%s-%s.html)" 
    > 
'; 
printf($html, $wurl, $siteurl, $myrow["wallpaperid"], $myrow["wallpapername"]); 
0

vous manque un guillemet après .html)

Essayez:

printf("<a href='/r?%s' target=_blank onClick='window.open(location.href=$siteurl/%s-%s.html)'>", $wurl, $myrow["wallpaperid"], $myrow["wallpapername"]); 
4

Ne pas utiliser des guillemets doubles dans des guillemets doubles (à moins que vous leur échapper correctement):

<a onclick="location.href='http://google.com'">Click Me</a> 

Notez comment j'utilise des guillemets simples dans mes guillemets. Cela empêche la déclaration d'être abandonnée prématurément.

Vous auriez pu également écrit comme ceci:

<a onclick="location.href=\"http://google.com\"">Click Me</a> 

Mais qui le rend un peu moins lisible.