2010-03-09 2 views
0

Je construis du code html dans un script php afin de le renvoyer à une page via Ajax. Comme vous pouvez le voir, je fais un die() pour voir la chaîne créée. Mon ouput devrait être quelque chose comme: <a href="#" onclick="changediv(" test','0')'>Content Name</a>php javascript ajax erreur de chaîne bizarre

Mais au lieu-je obtenir: <a href="#" onclick="changediv(" test','0')'="">Content Name</a> Je ne comprends pas où cela = « » vient après ma déclaration onclick ...

Quelqu'un peut-il voir ce qui ne va pas ici? Je suis un peu perplexe car je ne vois vraiment pas d'où ça pourrait venir!

Vive

+0

Etes-vous sûr d'avoir posté ce que vous avez réellement? Cela pourrait vous aider, si nous pouvions voir la "vraie" sortie - ici, vous utilisez des guillemets simples dans votre code, et vous dites que vous obtenez des guillemets doubles; est-ce vraiment le cas, ou est-ce simplement que vous n'avez pas copié-collé la sortie réelle? –

+0

il était en fait entre guillemets simples, et je recevais des guillemets doubles ... très étrange! – Piero

Répondre

1

Je vous suggère d'échapper aux guillemets

$temp = "<td><a href=\"#\" onclick=\"changediv('test', '0')\">" . 
$other_content[$i]->content_name. "</a></td>"; 

Le \ » échappe double quoute dans une chaîne

+0

Cela a fonctionné mais je ne comprends toujours pas pourquoi ne pas échapper des citations ajouterait = "" .... En tout cas, merci pour votre aide! – Piero

0

Vous foiré l'interprétation de la fonction des marques guillemets simples comme guillemets:

yours <a href='#' onclick='changediv('test','0')'> 

func <a href="#" onclick="changediv(" test','0')'=""> 

Cela suppose (entre% signes)% test « « 0 ») » = « » % est un paramètre de votre étiquette, essayez de remplacer les guillemets simples avec des guillemets doubles et le rendre html/xhtml conforme:

<a href="#" onclick="changediv('test','0')"> 

donc les guillemets simples et doubles guillemets sera correctement défini.

Vous devez modifier les cotes PHP aussi