Caractère spéciaux dans textarea avec ajax
Bonjour tout le monde,
Je viens vers vous car je tombe sur un souci avec un formulaire envoyé par AJAX.
Ma partie HTML :
Code:
1 2 3 4 5
|
<form id="monform">
<textarea name="mytext" id="mytext"></textarea>
<input type="button" name="send" id="send" value="Enregistrer" />
</form> |
Ma partie JS :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
/** Enregistrement **/
$(".send").click(function(){
mytxt = $("#mytext");
str = "&mytxt="+mytxt.val()
$.ajax({ type : 'post',
url : "index.php",
data : "ajax=ON&page=News&epage=e"+str,
//dataType : "json",
async : false,
success : function(j){
$(".canceleable").click();
//window.location.reload();
}
});
}); |
Voilà somme toute très basique, et pourtant je flanche dessus. :s, Je vous explique.
Dans ce textarea, j'insère des caractères tel que : + &
Mon problème est que le + disparaît du texte et le & coupe ma chaîne et du coup tout ce qui est après ce caractère & est considéré comme une nouvelle variable envoyée à PHP. JavaScript apparemment, en rencontrant le caractère & dans le textarea, crée une nouvelle variable envoyée avec ajax.
Exemple avec ce nom : Nigth & Day
Ma requête ajax analysée dans firebug me donne ceci :
Code:
ajax=ON&page=News&epage=e&mytxt=Nigth&Day
Dans ma réception php j'ai en faite :
Code:
1 2 3 4 5 6
|
$_POST['ajax'] = ON
$_POST['page'] = News
$_POST['epage'] = e
$_POST['mytxt'] = Nigth --> Problème cela devrait être Nigth & Day
$_POST['Day'] --> Elle ne devrait pas existé cette variable |
Je ne sais pas si vous comprenez ce que je veux dire, je suppose un problème d'échappement. Mais je ne vois pas comment faire, je ne sais pas à l'avance ce que l'utilisateur va taper, et si cela ce trouve j'aurais aussi le problème avec d'autres caractères.
En vous remerciant d'avance de votre intervention.
Bien à vous,
Spliffer