Avatar billede connorz Nybegynder
26. maj 2003 - 19:07 Der er 12 kommentarer og
1 løsning

linieskift i parameter

Jeg har denne funktion:
function todo(head,event,id)
{
  f=document.menuForm;
  radio=f.r;
  actionFelt=f.action;
  idFelt=f.id;
  if (radio[1].checked)
  {
    if (confirm('Er du sikker på, du vil slette aftalen med overskriften:\n'+head+'?'))
    {
      actionFelt.value='delete';
      idFelt.value=id;
      f.submit();
    }
  }
  else if (radio[2].checked)
  {
    actionFelt.value='edit';
    idFelt.value=id;
    f.submit();
  }
  else
  {
    alert(event);
  }
}

Denne bliver kaldt med vha. et link, sådan:
<A href='#' onclick="todo('Test','linie1,
\nlinie2
\nlinie3
\nlinie4
\nlinie5
\n',23);" class='green'>19:00 M tager hjem</A>

Det skal siges, at mine radiobuttons er tjekket sådan, at if-sætningen i funktionen går ned i 'else', dvs. der skulle gerne udskrives en msg-box! Men der er fejl - er det pga. mine linieskift, og hvordan kan jeg løse problemet?
Avatar billede roenving Novice
26. maj 2003 - 19:10 #1
Du må ikke have linjeskift i javascript-kode -- du har jo alligevel også \n på, så hvorfor også have linjeskift ?-)
Avatar billede roenving Novice
26. maj 2003 - 19:12 #2
Hvorfor ikke bare:

<A href='#' onclick="todo('Test','linie1,\nlinie2\nlinie3\nlinie4\nlinie5\n',23);" class='green'>19:00 M tager hjem</A>
Avatar billede connorz Nybegynder
26. maj 2003 - 21:12 #3
mit problem er, at teksten kommer fra et TEXTAREA felt, der er sat ind i en database (mysql) og så er hentet ind i en (PHP) variable og så skrevet ind!
Hvad er den letteste løsning så? Jeg har prøvet med i PHP (hvorved \n er fremkommet, men linieskiftet forsvinder ikke (!)):
str_replace("\n","\\n",$data)
hvad nu? skal jeg stille spørgsmålet i PHP?
Avatar billede roenving Novice
26. maj 2003 - 21:23 #4
Ja, for du skal have de linjeskift for at det skal kunne virke i javascript ...

-- en javascript-fortolker _skal_ betragte et linjeskift som en kommando-afslutning, så væk med dem ...
Avatar billede connorz Nybegynder
26. maj 2003 - 21:24 #5
ok
Avatar billede roenving Novice
26. maj 2003 - 21:36 #6
>>21:23:58
Selvfølgelig:
Ja, for du skal have de linjeskift VÆK for at det skal kunne virke i javascript ...
Avatar billede connorz Nybegynder
26. maj 2003 - 21:38 #7
den havde jeg regnet ud ;)
Avatar billede connorz Nybegynder
26. maj 2003 - 22:05 #8
tak for hjælpen - smid et svar...
Avatar billede roenving Novice
26. maj 2003 - 22:06 #9
Velbekomme -- så at du også havde fået fjernet linjeskiftene ... '-)
Avatar billede connorz Nybegynder
26. maj 2003 - 22:13 #10
ja det var ikke så svært, men man skal jo lige vide hvordan ;)
det er da mærkeligt, at det består af "2" tegn!
Avatar billede roenving Novice
26. maj 2003 - 22:21 #11
Har nu altid været nødt til at lede efter chr(10)chr(13) -- og mine første programmer lavede jeg på en TTY-terminal (sådan en gammeldags fjernskriver) og der var der brug for det -- ligesom på en skrivemaskine ...

-- men takker for points ;~}
Avatar billede connorz Nybegynder
26. maj 2003 - 22:32 #12
ha - chr har jeg da stødt på før - er det ikke Basic der bl.a. bruger det?
Avatar billede connorz Nybegynder
26. maj 2003 - 22:32 #13
eller er det mere generelt - PHP kender det vist i øvrigt også!
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester