11. maj 2005 - 23:55Der er
12 kommentarer og 1 løsning
Enter indsætter <br>
jeg har et tekstfelt hvor det indtastede gemmes i en DB. Mit problem er at et linieskift med [ENTER] registreres i tekstfeltet, men <br>'et kan ikke trækkes med ud i DB'en. Jeg ved det findes en masse "add-ons" til et tekstfelt, men jeg har ikke brug for andet (læs = brugeren skal ikke kunne andet). Derfor har jeg brug for et javascript som "lytter" efter et [ENTER]-tast og når det kommer skal den indsætte et <bR> i tekstfeltet. Helt optimalt ville være om det kunne gøres "skjult" så brugeren ikke skal se på dette "trick"
Håber 100 point er nok, er det ikke spytter jeg gerne 100 mere i.
Hvis brugeren _IKKE_ skal se det så skal du ikke gøre det i javascript. Så skal du gøre det i PHP eller ASP (hvilket bruger du?) inden du sætter det ind i databasen Hvis du fx i asp henter textfeltet som besked = request.form("besked") så laver du blot en replace besked = replace(besked,"\n","<br>") Det kan være det ikke er \n men vbCrLf, eller igen \n\r - prøv dig frem :o) I php kan du benytte funktionen nl2br $besked = nl2br($besked)
Det kan godt lade sig gøre i javascript at "lytte". Men jeg kan ikke se hvordan du i javascript som jo kører hos brugeren ,vil undgå at vise brugeren at du indsætter <br>
Jeg programmere i ASP. Umiddelbart er det ikke noget der virker. Problemet består i at jeg ikke kan trække det [enter] ud som textareaet registrerer.
Jeg kan se det problematikken du nævner med javascriptet. Så er muligheden der er tilbage at lave så <br> indsættes og så er det bare ærgerligt om brugeren kan se dette.
Det jeg forestiller mig javascriptet skal lytte efter er noget i denne stil:
hvis enter trykkes indsætter "<br>" i det anvendte textarea slut hvis
det er det eneste i bund og grund. Problemet er at jeg intet kan i javascripts så derfor er jeg helt på bar bund.
jeg har fundet denne stump i htmlarea's kode: // cancel ENTER key and insert <BR> instead if (ord == 13 && editEvent.type == 'keypress') { editEvent.returnValue = false; editor_insertHTML(objname, "<br>"); return; } Nu er det vel "bare" at få det til at sætte ind i mit textarea???
Denne her virker i IE --- <script> function replaceEnter(){ if (window.event.keyCode==13){ var elm = document.getElementById('besked'); elm.value = elm.value + '<br>'; } } </script>
Og bemærk at denne først skal bruges EFTER dbUdtræk, vbCrLf går fint ind i en database (Har kun testet med Access, ASP skodder til MySQL), og der er ingen problemer.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.