Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

[Javascript] Linebreak in textarea na bepaald aantal chars

Pagina: 1
Acties:
  • 72 views sinds 30-01-2008

Verwijderd

Topicstarter
Ik heb een textarea en die zit in een form, als ik dan op submit druk wil ik dat de text in die textarea na elk bepaals aantal chars een linebreak bevat en zo verzonden wordt.

Het liefst wil ik ook een maxlength nog erbij kunnen opgeven.

Heb overal gezocht maar kon helemaal niks vinden.

Iemand enig idee?

[ Voor 11% gewijzigd door Verwijderd op 16-01-2008 21:55 ]


  • Cyphax
  • Registratie: November 2000
  • Nu online

Cyphax

Moderator LNX
Maak een functie die aangeroepen wordt als je het form submit (onsubmit), die de inhoud van de textarea doorloopt in een loopje. Dan laat je een iterator meelopen, en als die het aantal bereikt heeft reset je 'm en voeg je tempstring aan zichzelf toe + een linebreak. Zou niet al te lastig toch wat voorbeelden van te vinden moeten zijn.

Saved by the buoyancy of citrus


Verwijderd

Topicstarter
ik heb 0 kennis van javascript en ik kon geen voorbeeld vinden nergens

  • Cyphax
  • Registratie: November 2000
  • Nu online

Cyphax

Moderator LNX
Okee, kan gebeuren, kun je met die aanzet verder?

Saved by the buoyancy of citrus


Verwijderd

Topicstarter
ik krijg liever een voorbeeld te zien

  • Mafkees
  • Registratie: Oktober 2003
  • Niet online
Mja.. kijk ook eens op http://www.w3schools.com/jsref/default.asp .. imo mag je zelf natuurlijk ook wel een beetje moeite doen ;)


JavaScript:
1
2
3
4
5
6
function lineBreaker()
{
    var str = textarea.innerHTML;
    var i = 0;
    // en dan iets met een while lus oid ..
}

[ Voor 8% gewijzigd door Mafkees op 16-01-2008 23:43 ]


  • XWB
  • Registratie: Januari 2002
  • Niet online

XWB

Devver
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function lineBreaker ( form )
{
    var textareaText = form['text'].value;
    var wordCount = textareaText.length;
    var breakNumber = 5;
    var newStr = '';
    
    for ( var i = 0; i < wordCount; i++ )
    {
        if ( i > 0 && i % breakNumber == 0 )
            newStr = newStr + "\n" + textareaText[i];
        else
            newStr = newStr + textareaText[i];
    }

    form['text'].value = newStr;
}


HTML:
1
2
3
4
<form action="" method="post" onsubmit="lineBreaker(this);">
    <textarea name="text"></textarea>
    <input type="submit">
</form>

[ Voor 8% gewijzigd door XWB op 17-01-2008 01:06 ]

March of the Eagles


  • benoni
  • Registratie: November 2003
  • Niet online
Ik zou 't met een regular expression doen:

JavaScript:
1
2
3
4
function lineWrap(line, wrap) {
  preg = new RegExp('(.{' + wrap + '})', 'g');
  return line.replace(preg, "$1-\n");
}

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verwijderd schreef op woensdag 16 januari 2008 @ 23:22:
ik krijg liever een voorbeeld te zien
:D
En zo werkt het hier dus niet (zie onze Quickstart en Kan iemand even...?). Me bovenstaande oplossingen moet je een heel eind kunnen komen, en anders is het misschien verstandig je in de materie te verdiepen danwel de klus aan iemand uit te besteden die "meer dan 0" kennis heeft van JS ;)

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij

Pagina: 1

Dit topic is gesloten.