2010-11-18 32 views
0

J'utilise FCKEditor dans un CMS et j'ai besoin de poster du code javascript dans l'éditeur. Cela est stocké dans ma base de données, mais il supprime le signe + de ce code javascript:FCKeditor, enlever des choses

function _check(val){ 
    loadFragmentInToElement('captcha_check.php?val='+val,'captcha_div',''); 
} 

Maintenant, pourquoi serait-il supprimer le signe +?

J'ai essayé d'utiliser & # 43; et% 2B mais ensuite il publie & # 43; et% 2B au lieu d'un signe +.
Non, les parties extérieures ne seront pas en mesure d'accéder à ceci pour poster des trucs.

Modifier ....

Le formulaire avec l'éditeur est transmis en utilisant une fonction javascript appelé submitForm. Le contenu de l'éditeur est transmis en tant qu'objet appelé noofeditor. Je vois où il échappe du code récupéré à partir l'éditeur en utilisant ceci:

if(noofeditor){ 
var editorArray=noofeditor.split('::'); 
for (l=0;l<editorArray.length;l++){ 
    strData += "&"+editorArray[l]+"="+escape(FCKeditorAPI.GetInstance(editorArray[l]).GetXHTML()); 
} 
} 

est-il un moyen de l'empêcher de s'échapper le signe +?

+0

Pourquoi serait-il enlever le signe + où exactement? Qu'est-ce que vous mettez dans, et ce qui sort? –

+0

Pouvez-vous ne pas le voir dans le code affiché ci-dessus? Il est mis dans la source dans l'éditeur. J'ouvre l'éditeur, cliquez sur Source et collez le code HTML, y compris javascript, dans l'éditeur, puis cliquez sur soumettre pour stocker dans la base de données. – MB34

+0

La vérification de la valeur du contenu de l'éditeur indique qu'il supprime le signe +. – MB34

Répondre

0

Que diriez-vous les éléments suivants:

function _check(val){ 
    var path = 'captcha_check.php?val='+val; 
    loadFragmentInToElement(path,'captcha_div',''); 
} 
+0

Il sera également supprimer dans ce code. Voir le texte après les mots Modifier ... dans le message original. – MB34

+0

Je ne comprends pas - le signe plus disparaît lorsque nous définissons le chemin. Nous n'en avons pas besoin, juste une chaîne comme 'captcha_check.php? Val = foobar'. Nous voulons foobar, pas + foobar –

+0

Vous ne pouvez pas voir la forêt pour les arbres, hein? Le signe + est là car le code est supposé CONCATENER la chaîne 'captcha_check.php? Val =' et la valeur du paramètre appelé val. – MB34