Bonsoir,
Derrière ce titre à rallonge se cache deux questions soulevées par des problèmes :
[RÉSOLU] Problème A - Ajax.Request et les apostrophes.
J'ai fait un script (à partir de sources à droite à gauches) qui permet de valider un formulaire sans recharger la page, grâce à Ajax.Request.
Le script alimente donc bien ma base de donnée SAUF quand je mets des caractères spéciaux (comme ') dans les imput text ou les textarea de mon formulaire.
Si je place un antislash avant le ', ça passe, mais avouez que c'est très contraignant lors de l'alimentation d'une base de donnée !
Voici le code :
TextOK étant une DIV.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 <script type="" language="javascript"> function SendForm(){ ('BTsubmit').value='en cours ...'; new Ajax.Request('test3.php',{ method: 'post', asynchronous: true, contentType: 'application/x-www-form-urlencoded', encoding: 'UTF-8', parameters: { titre : $F("titre"), message: $F("message") }, onSuccess: function(){MailOK();}, onFailure: function(){} }); function MailOK(){ $('BTsubmit').style.visibility = 'hidden'; $('BTsubmit').style.display = 'none'; $('textOK').style.visibility = 'visible'; $('textOK').style.display = 'block'; } } </script>
Le Problème A est résolu, le soucis venait de ma requete mySQL de test3.php qui était mal formatée !
Le problème B subsiste toujours cependant.
Problème B - Ajax.InPlaceEditor et le HTML.
Second problème, j'utilise la fonction Ajax.InPlaceEditor pour éditer à la volée du contenu dans une page d'administration quelconque d'un site quelconque. Je récupère donc la valeur actuellement contenue dans l'enregistrement de ma base donnée.
J'utilise par exemple le code suivant :
Je récupère bien le retour chariot, mais PAS les balises HTML enregistrées dans la BDD. Du coup, je perd lors de l'édition tout formatage de texte en HTML(strong, br et compagnie). Avouez que c'est encore un soucis pour un script d'administration
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 new Ajax.InPlaceEditor('fc_gauche_edit', 'test2.php?idreff=adresse', {rows:15,cols:15,cancelText:"Annuler",okText:"Valider",savingText:"Enregistrement en cours ...",clickToEditText:"Cliquez ici pour éditer le contenu"});
Pour ces deux soucis, pourriez-vous m'éclairer ? Je pense que ce n'est pas grand chose, mais mes recherches sont restées infructueuses jusqu'à présent.
Je vous remercie du temps que vous accordez à mon soucis,
Sébastien.
Partager