2008-12-24 9 views
0

J'ai une fonction JavaScript, pop_item. Je dois appeler cela de PHP, donc mon code PHP est le suivant:Fonction JavaScript de PHP

echo '<a href="javascript:pop_item('.$_code.',1)">Link </a>'; 

Il ne fournit aucune erreur, mais pop_item ne fonctionne pas,

La sortie HTML ci-dessus est:

<a href="javascript:pop_item('ABC',1)">Link </a> 
+0

Que voulez-vous dire par "appel de PHP"? Votre code PHP sera exécuté sur le serveur, et le code Javascript s'exécutera dans le navigateur de l'utilisateur. – Alnitak

+0

Quand vous dites ne pas fonctionner ... que voulez-vous dire exactement? La fonction est-elle en cours d'exécution? Avez-vous inclus la fonction sur la page? –

+0

Vous devriez poster la fonction pop_item, je pense que le problème est là. –

Répondre

5

Je pense que le problème est dans la fonction pop_item puisque l'appel semble être correct. Essayez ceci:

echo " <a href='#' onclick=\"pop_item(".$_code."', 1)\">link</a>"; 

Ou

echo '<a href="javascript:alert('.$_code.')">Link</a>'; 

voir si cela fonctionne.

+0

A en juger par la sortie HTML, $ _code contient déjà des guillemets (en supposant que la sortie HTML soit précise!). – Greg

+0

Ah ok, c'est possible, je n'y ai pas pensé. –

+0

Merci Pim Jager, maintenant fonctionne bien – venkatachalam

0

Votre fonction est probablement pas définie ... Assurez-vous que vous avez inclus quelque part ...

+0

sur la console d'erreur de Firefox, qui afficherait une erreur de "pop_item() n'est pas défini" –

0

Si la sortie semble correct, PHP a fait son travail correctement et que le problème est dans votre code JavaScript. Essayez d'exécuter votre page avec Firebug ou un autre débogueur JavaScript pour trouver le problème.

2

Si votre fonction pop_item accepte une chaîne comme premier paramètre, cela peut arriver en raison de l'absence de certains caractères de citation. Utilisez la fonction d'interpolation de PHP, de sorte que vous puissiez être sûr de la citation. Quelque chose comme cette ligne:

echo "<a href=\"javascript: pop_item('$_code',1);\">Link</a>"; 

Si le pop_item accepte un autre type de données, puis les guillemets simples sont inutiles. Je recommande également d'utiliser la console d'erreur JavaScript de votre navigateur pour voir les détails du problème.