Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2911 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Proteger des apostrophes

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Proteger des apostrophes

n°1862809
axel584
Posté le 18-03-2009 à 08:36:44  profilanswer
 

Bonjour,
Je n'arrive pas à protéger les apostrophes dans mon code.
J'ai fait un bout de programme dont le but est de transformer du texte dans un div en un champ input quand on double clic dessus et de l'enregistrer quand on sort du champ (à terme, avec un peu d'ajax, ça s'enregistrera automatiquement et ça permettra de modifier très facilement un formulaire).
Quand je double clic, que je rajoute des doubles apostrophes, que je clique ailleurs et que je redouble clic dessus, ce qui suit la double apostrophe disparait.
 

Code :
  1. <html>
  2. <STYLE type="text/css">
  3. .display{
  4.   background-color: White;
  5.   color: Black;
  6. }
  7. .display input{
  8.   background-color: White;
  9.   border: 0px;
  10.   color: #000088;
  11. }
  12. </STYLE>
  13. <script language="JavaScript">
  14. function addslashes(ch) {
  15.  ch = ch.replace(/\\"/g,'\\\\"');
  16.  return ch
  17. }
  18. function edit(id)
  19. {
  20.  var div = document.getElementById(id);
  21.  if (div.firstChild.nodeType==3) {
  22.   div.innerHTML= '<input name="input" type="text" value="'+addslashes(div.firstChild.data)+'" onblur="save(this.parentNode.id);">';
  23.  }
  24.  div.ondblclick='';
  25.  }
  26. function save(id)
  27. {
  28.  var div = document.getElementById(id);
  29.  var valeur = div.firstChild.value;
  30.  // ici on sauvegarde la valeur avant
  31.  div.innerHTML= valeur;
  32.  div.ondblclick=function () {edit(this.id);};
  33.  }
  34. </script>
  35. <body>
  36. <div class='display' id='coucou' ondblclick='edit(this.id);'>Choux</div><br>
  37. <div class='display' id='hiboux' ondblclick='edit(this.id);'>Hiboux</div><br>
  38. <div class='display' id='cailloux' ondblclick='edit(this.id);'>Cailloux</div><br>
  39. </body>
  40. </html>


 
Question bonus : pourquoi ça se retransforme bien quand je clique ailleurs, mais pas quand je double clique sur un autre champ ? Y'a t'il un autre événement que onBlur pour dire qu'on est parti du champ du formulaire en question ?
 
Merci beaucoup pour votre aide,
 
Axel

mood
Publicité
Posté le 18-03-2009 à 08:36:44  profilanswer
 

n°1862843
kao98
...
Posté le 18-03-2009 à 09:59:37  profilanswer
 

Code :
  1. function addslashes(ch) {
  2. ch = ch.replace(/"/g,'&quot;');
  3. return ch
  4. }


Message édité par kao98 le 18-03-2009 à 10:00:16

---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98
n°1862993
axel584
Posté le 18-03-2009 à 11:47:50  profilanswer
 

Super, ça marche nickel !
 
Merci beaucoup.
 
Et pour l'autre question : comment faire en sorte que la fonction save() soit appellé même si je sors du premier champ en double cliquant sur le deuxième ?
 
Merci,
 
Axel


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Proteger des apostrophes

 

Sujets relatifs
fputcsv PHP5 (gerer les espaces, les apostrophes etc...)[WriteExcel] Protéger un classeur - 1 colonne
Comment proteger son siteScript de news qui multiplie les apostrophes dans le texte
Différence guillemets et apostrophesProteger un fomulaire d'upload d'image?
[Aide] Comment protéger un site contre une attaque d'un hacker?Protéger mon champs $_POST dans mon panier
Comment protéger une macro dans excel de tout accès extérieur 
Plus de sujets relatifs à : Proteger des apostrophes


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR