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

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Retour chariot et textarea (php)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Retour chariot et textarea (php)

n°1261637
saxgard
Posté le 08-12-2005 à 12:56:09  profilanswer
 

salut
Voila j'ai un petit souci   :)  
J'ai un textarea ou je fais des retour chariot, pour l'instant aps de probleme
par contre lorsque je veux faire un apercu de ce textarea en passant par le javascript les retour chariot disparaissent :
 
dans mon textarea j'ai:

Code :
  1. Bonjour,
  2. Ceci est un test.
  3. Test1
  4. Test2


 
le lancement de l'apecu est fait comme ca:

Code :
  1. <input type="button" value="Prévisualiser" Onclick="javascript:apercu();">


 
la fonction javascript apercu ressemble a ça :

Code :
  1. function apercu()
  2. {
  3. valeur=this.nomdemonform.nomdemontextarea.value;
  4. window.open('preview.php?cont='+valeur,'Aperçu','width=400,height=400,scrollbars=yes');
  5. }


 
Et mon preview.php ressemble a ca :

Code :
  1. <?php
  2. if(isset($_GET['cont']) AND !empty($_GET['cont']) AND $_GET['cont']!="" )
  3. {
  4. $contenu=$_GET['cont'];
  5. }
  6. else
  7. die ("contenu inexistant" );
  8. $contenu=str_replace("\n","<br>",$contenu);
  9. echo $contenu;
  10. ?>


 
et la il n'y a aucun saut de ligne de fait , a l'affichage j'aurais :

Code :
  1. Bonjour,Ceci est un test.Test1Test2


 
Par contre si j'enregistre mon textarea dans une base mysql que je lis ce contenu a partir de la base, que je fais le "replace" et que j'affiche le contenu, les sauts de lignes se font bien.
 
Par consequent l'enregistrement dans la base de donnée garde bien les retour chariot du textarea , mais le passage du textarea en javascript, enleve les retour chariot. peut etre, c'est parceque je passe la variable dans l'URL , ya  t'il un autre moyen de passer una variable javascript a une variable PHP? (meme si je pense pas que le probleme vienne de la)
 
je sait pas si je suis assez clair, mais si vous pouviez m'aider ca serait sympas  :D
 
PS: je connais la fonction nl2br() et ca ne resoud pas mon probleme , je suis allez voir dans le forum si il ya vait une réponse a mon probleme et j'ai pas trouvé  :(  
 
petite explication supplementaire : En gros je suis en train de faire un site qui sera administrable en ligne et la mise a jour du contenu se fera comme lorsqu'on poste sur un forum , avec du BBcode etc..
Et je dois avouer que je galere un peu avec le traitement des chaines de caractères.

Message cité 1 fois
Message édité par saxgard le 08-12-2005 à 13:03:42
mood
Publicité
Posté le 08-12-2005 à 12:56:09  profilanswer
 

n°1261639
The-Shadow
Développeur
T'as été voir dans ton profil?
Posté le 08-12-2005 à 13:04:07  profilanswer
 

saxgard a écrit :

ya  t'il un autre moyen de passer una variable javascript a une variable PHP?


Vi, tu changes l'action de ton formulaire et tu l'envois sur une autre page en ouverture.
Comme le code d'HFR, le forum, si tu regardes, quand tu cliques sur répondre, cela produit un envoie de formulaire qui permet de récupérer ce que tu as déjà commencé à taper dans la case Réponse rapide.

n°1261641
FlorentG
Unité de Masse
Posté le 08-12-2005 à 13:07:26  profilanswer
 

Forcément si tu vire les \n ça risque de pas fonctionner...

n°1261701
saxgard
Posté le 08-12-2005 à 14:10:08  profilanswer
 

The-Shadow a écrit :

Vi, tu changes l'action de ton formulaire et tu l'envois sur une autre page en ouverture.
Comme le code d'HFR, le forum, si tu regardes, quand tu cliques sur répondre, cela produit un envoie de formulaire qui permet de récupérer ce que tu as déjà commencé à taper dans la case Réponse rapide.


 
 
Si je comprend bien faut que je fasse un submit (comme quand je valide mon formulaire)?  mais au lieu que je le traite pour le valider (ajout dans la base de donnée etc..) je l'affiche uniquement c'est bien ça?
 
Si c'est ca il faut bien que je differencie le bouton apercu et le bouton valider du formulaire.
Chacun doivent avoir un submit different.
 
peut-on sur le meme formulaire envisager 2 submit differents?
 
Un submit lorsque je clique sur apercu et un autre quand je clique sur valider
 
FlorentG je les supprime pas les \n je les remplaces par des <br>  
je fais plus ou moin ce que ferai nl2br()  ;)

n°1261713
FlorentG
Unité de Masse
Posté le 08-12-2005 à 14:18:24  profilanswer
 

Mais faut pas. Dans une textarea, c'est pas des <br> qu'il faut, mais des \n (ou \r\n)

n°1261715
The-Shadow
Développeur
T'as été voir dans ton profil?
Posté le 08-12-2005 à 14:19:56  profilanswer
 

saxgard a écrit :

Si je comprend bien faut que je fasse un submit (comme quand je valide mon formulaire)?  mais au lieu que je le traite pour le valider (ajout dans la base de donnée etc..) je l'affiche uniquement c'est bien ça?
 
Si c'est ca il faut bien que je differencie le bouton apercu et le bouton valider du formulaire.
Chacun doivent avoir un submit different.


En html, tu fais un bouton de type button, pas de type submit, et tu fais un onclick="procedureapercu()"
 
et ensuite, en javascript, tu fais  
function procedureapercu {
changementdelactionduformulaire avec target blank
et submit()
}

n°1261718
saxgard
Posté le 08-12-2005 à 14:23:58  profilanswer
 

FlorentG a écrit :

Mais faut pas. Dans une textarea, c'est pas des <br> qu'il faut, mais des \n (ou \r\n)


 
en fait j'ai du mal m'exprimer.
 
je récupere mon textarea qui lui doit contenir des \n ou (\r\n)  et pour afficher ces \n sur ma page html , je doit bien transformer ces \n par des <br>, \n c'est pas reconnu en HTML  :)  
Cela dit je me trompe peut etre (j'ai mon cerveau un peu fatigué la) :pt1cable:  dans mon raisonnement, mais si t'affiche directement le contenu de ton textarea sans traiter les retours chariots, je sais pas si tu aura des sauts de lignes dans ta page web
 
sinon je crois que j'ai trouvé pour les submit, j'ai vu qu'on pouvait modifier son action avec la propriété action
document.forms.action
je vais pouvoir dans ma fonction apercu()
faire un changement de l'action et faire un submit, je recupere ensuite mon textarea en POST et normalment ca devrait etre bon
si je fais fausse route signalez moi le  :D  
 
je vous tient au courant  :)
 
The Shadow nos idées se sont croisés , merci  ;)


Message édité par saxgard le 08-12-2005 à 14:24:53
n°1261719
FlorentG
Unité de Masse
Posté le 08-12-2005 à 14:24:46  profilanswer
 

Ah j'ai dû mal pigé, j'ai cru que t'affichais le contenu dans un textarea

n°1261722
saxgard
Posté le 08-12-2005 à 14:25:30  profilanswer
 

FlorentG a écrit :

Ah j'ai dû mal pigé, j'ai cru que t'affichais le contenu dans un textarea


 
non non , pas grave , je m'exprime surement très mal aussi  ;)
 
c'est bon ca marche :

Code :
  1. function apercu()
  2. {
  3. this.monform.action="apercu.php";
  4. this.monform.submit();
  5. }


 
je recupere mon textarea avec $_POST['nomtextarea'] dans mon fichier apercu.php
et c'est bon
 
youpiiii  :jap:  
merci a tous les 2


Message édité par saxgard le 08-12-2005 à 14:30:12
n°1387660
agateway
Posté le 14-06-2006 à 17:31:24  profilanswer
 

En PHP j'ai résolu le pb de cette manière :
 
$mavar = str_replace("\r\n", "\\r\\n", $mavar);
 
et après en js, txtarea.value = '$mavar';

mood
Publicité
Posté le 14-06-2006 à 17:31:24  profilanswer
 

n°1387669
The-Shadow
Développeur
T'as été voir dans ton profil?
Posté le 14-06-2006 à 17:42:59  profilanswer
 

agateway a écrit :

En PHP j'ai résolu le pb de cette manière :
 
$mavar = str_replace("\r\n", "\\r\\n", $mavar);
 
et après en js, txtarea.value = '$mavar';


en PHP, il existe une fonction spécialement pour ça $mavar=nl2br($mavar);
En général, les fonctions toutes faites sont plus rapides.  
 
Edit : Ha non merde, j'ai mal compris.  [:amandine75011]


Message édité par The-Shadow le 14-06-2006 à 17:43:40

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

  Retour chariot et textarea (php)

 

Sujets relatifs
Main et valeur de retourCode de retour d'un batch windows
balises HTML et textarea[php]textarea mysql et javascript
WScript.echo et le retour chariot !! [résolu]Comment ajouter Retour a la ligne ?
retour chariot sur un calqueRécupération des éléments d'un fichier xml en flux retour
Plus de sujets relatifs à : Retour chariot et textarea (php)


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