Retour a la ligne dans un textarea

Fermé
elwi Messages postés 16 Date d'inscription lundi 9 juin 2008 Statut Membre Dernière intervention 10 décembre 2017 - 9 juin 2008 à 22:59
X-Fan Messages postés 805 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 6 janvier 2010 - 12 juin 2008 à 15:35
Bonjour,

J'ai un problème pour faire un retour à la ligne dans un champs textarea:

Voici le bout de code que j'ai tenté de corriger:



<td align="left" colspan="2"><textarea name="intro_text" class="inputbox" rows="2" cols="30" ><?php echo $row->$intro_text = nl2br( $intro_text ); ?></textarea>


Merci pour l'aide.

7 réponses

X-Fan Messages postés 805 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 6 janvier 2010 24
9 juin 2008 à 23:10
J'ai déjà eu le même problème que toi et je l'ai arranger comme ça:

<textarea name="intro_text" class="inputbox" rows="2" cols="30" wrap=soft><?php echo $row->$intro_text = nl2br( $intro_text ); ?></textarea>

Ajoute l'attribut "wrap" comme indiqué si haut ;)

Et sinon, si tu n'arrives pas à conserver les retours de ligne une fois le champ sauvegardé, reposte et je te dirais comment j'ai fait (seulement moi c'était dans un formulaire avec une variable $_POST).
1
Merci X-fan, mais ça marche pas et en plus celà a pour effet d'effacer mon texte quand je reviens dessus!
0
X-Fan Messages postés 805 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 6 janvier 2010 24
9 juin 2008 à 23:26
le wrap sert à forcer le retour à la ligne lorsque tu écris dedans (donc visuellement de au moment du remplissage du champ). Si c'est un problème pour garder les retours à la ligne une fois la saisie terminée, c'est autre chose.

Et sinon qu'entends-tu par "celà a pour effet d'effacer mon texte quand je reviens dessus!"?? Revenir dessus comment?
0
J'ai des articles en première page d'un site avec un texte d'introduction à droite de mes photos. Si je ne limite pas le nombre de caractères, la ligne déborde vers la droite de l'ecran et du template.

Oui c'est bien un problème pour garder les retours à la ligne une fois le texte d'introduction saisi.

Le wrap éfface mon texte quand je retourne sur l'édition de mon article. La case est blanche!
0
Apparement avec mon code la case est également blanche quand je reviens sur l'édition meme sans le wrap!
0
X-Fan Messages postés 805 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 6 janvier 2010 24
10 juin 2008 à 16:56
Quand tu fais back sur le browser ou quand tu cliques sur un bouton d'édition?

Comment tu récupères et utilises l'info saisie? (variable $_POST??)
0
Je ne sais pas X-fan, j'ai très peu de connaissance en php. Je te met en ligne à cette adresse 2 fichiers ou devrait se situer le bout de code à modifier. D'ailleurs on peut voir le problème sur le premier bien ou article AVT3333.

Voici l'adresse: http://av-transactions.com/fichier

Et merci encore si tu peux m'aider!
0
X-Fan Messages postés 805 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 6 janvier 2010 24
10 juin 2008 à 19:17
C'est quelle page qui s'ouvre lorsque tu valides? Parce que en fait, toi tu fais back et ça ne remet pas le texte c'est ça? Et tu voudrais que ça le remette..? :o
0
J'ai remis en ligne le fichier property.html.php non modifié. Avec celui-ci cela ne le fait pas. J'ai du touché à quelque chose sur la ligne intro_text, et c'est pour cela que ça m'éffaçait mon texte d'introduction. Avec celui ci tout est OK.

J'ai juste besoin du retour à la ligne. On m'a dit que le problème était un problème de html et pas de php.

Et qu'il fallait mettre mon texte dans une balise DIV et de dimentionner cette balise à la taille que je souhaite.

Cette info m'avance un peu mais pas de beaucoup.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
X-Fan Messages postés 805 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 6 janvier 2010 24
10 juin 2008 à 20:03
pour le retour à la ligne visuel, c'est wrap=soft dans textarea.

Div c'est un conteneur auquel tu donnes une taille et si le texte excède la taille, il met une barre de défilement. C'est utile pour position du texte à une place précise sur une page sans débordement et déformation du look.
0
Désolé j'avais gardé l'ancien fichier. Cette fois ci, voici le bon et non modifié ( en ligne).

Avec ce code d'origine, le texte reste lorsqu'on revient sur l'édition:

-----------------------------------------------------------------------------------------------------------------------------------------
case 'intro_text':
?><tr> <td align="left" valign="top" colspan="2"><?php echo $core_field->caption; ?>:</td>
</tr>
<tr>
<td align="left" colspan="2"><textarea name="intro_text" class="inputbox" rows="2" cols="50"><?php echo $row->intro_text; ?></textarea>
</td>
</tr><?php
break;
----------------------------------------------------------------------------------------------------------------------------------------------------

Et avec ce code modifié, le texte disparait lorsqu'on revient sur l' édition:


--------------------------------------------------------------------------------------------------------------------------------------------------
case 'intro_text':
?><tr> <td align="left" valign="top" colspan="2">
<?php echo $core_field->caption; ?>:</td>
</tr>
<tr>

<td align="left" colspan="2">
<textarea name="intro_text" class="inputbox" rows="2" cols="30" ><?php echo $row->$intro_text = nl2br( $intro_text ); ?></textarea>
</td>
</tr><?php
break;

------------------------------------------------------------------------------------------------------------------------------------------------------

Ce que tu dis X-Fan cela fait exactement cela et sans DIV, c'est à dire : "Div c'est un conteneur auquel tu donnes une taille et si le texte excède la taille, il met une barre de défilement".
0
X-Fan Messages postés 805 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 6 janvier 2010 24
10 juin 2008 à 23:38
Ben un textaera fait aussi une barre de défilement seulement il ne peut contenir que du texte et div pas. Div c'est un truc de programmation caché (pas un truc que les gens "voient" si on peut dire. Il voit son rendu mais ils peuvent pas y toucher.

Sinon pour nl2br, j'ai vu sur Internet que ca changeait les retours de chariots en <br />..

euh mais en regardant, tu as ajouté des $ devant intro_text. Euh, c'est plus la même chose non là? Ben en tout cas, essaie peut-être $row->nl2br(intro_text)

EDIT:
Tu peux aussi essayé nl2br($row->intro_text) car il me semble que ce serait plus logique. Je sais pas si le premier est permis mais celui là doit l'être. Encore que je suis loin de tout savoir. Je ne fais du php que depuis 3 semaines LOL. Le peu que je sais, je l'ai appris sur le tas et avec mes connaissances de programmation d'autres langages. C'est pour ça que ça ne fonctionne pas toujours. :s

M'enfin, c'est peut-être mieux que rien quand même "d'essayer" de trouver. En plus, j'apprends des trucs aussi ^^
0
Alors là ça m'affiche un message d'erreur du style:

<br />
<b>Fatal error</b>: Call to undefined method: moshpproperties->nl2br() in <b>/home.10.23/avtransag/www/components/com_hotproperty/property.html.php</b> on line <b>350</b><br />
0
elwi > elwi
11 juin 2008 à 00:06
Ton dernier bout de code fonctionne mais tjrs pas de retour à la ligne!
0
elwi > elwi
12 juin 2008 à 10:29
Résolu: le code était : <TEXTAREA WRAP="HARD">
0
X-Fan Messages postés 805 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 6 janvier 2010 24
12 juin 2008 à 15:35
Ah ben c'est cool ca. C'est sur qu'il y a plusieurs type wrap. Il y en a encore au moins un autre autre que HARD et SOFT. Il faut les essayer tous (C'est ce que J'avais fait). Tout dépend de l'effet recherché. Bonne continuation ^^
0