Har data som renderas ut inom ett par pre taggar. Datan skrivs in i en textarea och använder då pre för att fånga upp alla radbrytningar(enter tryck). Problemet är att när man skriver in långa rader utan radbrytning så blir detta till en enda lång rad inom pre och jag skulle vilja att dessa rader bryts efter storleken på tabell cellen som den ligger i. Går det?
radbrytning i pre
4 svar · 430 visningar · startad av Dino
Istället för att använda <pre> för att få med radbrytningarna, tycker jag att du ska byta ut radbrytningarna mot <br>-taggar istället.
T ex:
<script type="text/javascript">
function updateText(fromStr){
document.getElementById("texten").innerHTML = fromStr.replace(/\r|\r\n|\n/g, "<br />");
}
</script>
...
<textarea onkeyup="updateText(this.value)"></textarea>
<p id="texten"></p>
Tyckte pre skötte jobbet med radbrytningar bra, men får väl ordna det på servern istället. Tack iaf. :)
Hmm...
Ett alternativ som börjar bli poppis på nätet är annars att låta cellen "gå över i scrollnings-läge" när texten i den blir för bred, t.ex. genom att köra med CSS-kod liknande denna
pre {width:100%; overflow:scroll}
Men detta förutsätter förståss att du kan stå ut med de rullningslister på <pre>-taggen som dyker upp när innehållet sväller i sidled...
<table style="width: 200px;">
<tr>
<td><pre style="width: 100%; height: 100px;overflow: scroll;">Inga radbrytningar här inte. Inga radbrytningar här inte. Inga radbrytningar här inte. Inga radbrytningar här inte. Inga radbrytningar här inte. Inga radbrytningar här inte. Inga radbrytningar här inte. Inga radbrytningar här inte. </pre></td>
</tr>
</table>
Får inte ovan att ge önskat resultat. Även om man skulle få att fungera, så är det i mitt fall inte någon bra lösning rent designmässigt, tyvärr.
Javascript lösningen går inte heller för jag accepterar inte <, > eller & tecken i min indata.
Så då verkar det bara vara servern kvar. :)