2010-07-10 8 views
0

J'utilise le code suivant en php:chaîne Javascript non terminée

PHP:

$suggested_sentence[0] = "Hello, how are you?"; 
    echo $suggested_sentence[0] . ' <input type="image" src="button.png" 
    onclick = update_textarea('. $textareacount.','. "'".$suggested_sentence[0]."')/>"; 

fonction Javascript:

function update_textarea(count, new_sentence) { 
    document.getElementById('sentence' + count).value = new_sentence; 
} 

Mais quand je presse le bouton i obtenir l'erreur "chaîne littérale non terminée mais si je change la valeur de $suggested_sentence[0] = "Hello" cela fonctionne très bien

Que dois-je faire alors?

+0

Que produit le PHP? – kennytm

Répondre

1

Vérifiez le fichier après PHP a exécuté pour vous assurer que votre bouton ressemble à ceci ...

<input type="image" src="button.png" onclick="update_textarea(1, 'Hello, how are you?');"/> 

Notez que l'événement onclick est entouré de guillemets doubles.

Vous pouvez régler votre exemple comme ceci:

$suggested_sentence[0] = "Hello, how are you?"; 
    echo $suggested_sentence[0] . ' <input type="image" src="button.png" 
    onclick="update_textarea('. $textareacount.', '. "'" . $suggested_sentence[0]."'" . ')"/>'; 
+0

Merci beaucoup, il travaille maintenant. Vous êtes le meilleur. Tu as sauvé mon temps. – fawad

+0

@fawad, content d'avoir pu aider. N'hésitez pas à cliquer sur cette coche à côté de la réponse si elle a résolu votre problème. À votre santé :) – Fenton

0

HTML encode$suggested_sentence[0] car il peut contenir des caractères qui rompent le javascript littéral (comme ' alors assurez-vous de définir quote_style à ENT_QUOTES pour cela).

+0

Ceci est une bonne suggestion, mais pas le coupable dans ce cas. – TNi

Questions connexes