Avatar billede mesteren_selv Nybegynder
09. juni 2005 - 16:28 Der er 29 kommentarer og
2 løsninger

Tekstskift der ikke virker igen!

Jeg har med grundig hjælp i spørgsmål: http://www.eksperten.dk/spm/617974 fået lavet et tekstskift, og har nu kopieret det over i et andet php-dokument.. Nu virker det bare ikke!?

Lidt kode:

<script language="JavaScript" type="text/JavaScript">
var actNum = 0;
function moveTxt(dir){
  if(actNum == 0 && dir == -1 || actNum == texts.length-1 && dir == 1)
    return;
  actNum = (actNum+dir+texts.length)%texts.length;
  //alert(actNum);
  document.getElementById("showText").innerHTML = texts[actNum];
  document.getElementById("actual").innerHTML = actNum + 1;
  if(actNum == 0)
    document.getElementById("moveBack").src = "../grafik/pil_left_b.jpg";
  else
    document.getElementById("moveBack").src = "../grafik/pil_left.jpg";
  if(actNum == texts.length-1)
    document.getElementById("moveForward").src = "../grafik/pil_right_b.jpg";
  else
    document.getElementById("moveforward").src = "../grafik/pil_right.jpg";
}
</script>

og

<script type="text/javascript">
var texts = new Array();
<?php
$dat = mysql_query("SELECT * FROM `forside-tekst-$id`") or die(mysql_error());

while ($rew = mysql_fetch_array($dat)) {
?>
texts[texts.length] = "<?php echo $rew['text']; ?>";
<?php
}
?>

samt

<div id="Layer11" style="position:absolute; left:455px; top:0px; width:14px; height:19px; z-index:1">
<a href='#'><img id='moveForward' src='../grafik/pil_right.jpg' width='22' height='17' border='0' onclick='moveTxt(1);return false;'></a>
</div>
    <div id="Layer12" style="position:absolute; left:0px; top:0px; width:18px; height:18px; z-index:2">
<a href='#'><img id='moveBack' src='../grafik/pil_left_b.jpg' width='22' height='17' border='0' onclick='moveTxt(-1);return false;'></a>
</div>
    <div id="navigateTxt" style="position:absolute; left:225px; top:3px; width:29px; height:15px; z-index:3" class="tekstbold">
<span id="actual">1</span> / <script type="text/javascript">document.write(texts.length);</script>
</div>

og

<td class="tekst" id="showText"><script type="text/javascript">document.write(texts[0]);</script></td>

Er der nogen der lige kan spotte hvad jeg har gjort galt? Jeg har siddet og pillet i det i umindelige tider, men kan ikke hitte fejlen... på forhånd tak, mesteren
Avatar billede roenving Novice
09. juni 2005 - 16:34 #1
Hvordan ser det ud, når det kommer ud af php-scriptet (altså som det ser ud i browseren --> Vis kilde !-)
Avatar billede mesteren_selv Nybegynder
09. juni 2005 - 16:37 #2
<script type="text/javascript">
var texts = new Array();
texts[texts.length] = "This chapter explains how to set up a Dreamweaver MX 2004 site. In Dreamweaver, a site generally consists of two parts: a collection of files on a local computer (the local site), and a location on a remote web server that you upload the files to when you’re ready to make them publicly available (the remote site).

After you set up a site, you can explore Dreamweaver on your own, using your own existing web pages. Alternatively, you can follow the tutorials in the rest of this guide to learn how to create a simple website using sample content provided with Dreamweaver MX 2004.

The most co";
texts[texts.length] = "This chapter explains how to set up a Dreamweaver MX 2004 site. In Dreamweaver, a site generally consists of two parts: a collection of files on a local computer (the local site), and a location on a remote web server that you upload the files to when you’re ready to make them publicly available (the remote site).

After you set up a site, you can explore Dreamweaver on your own, using your own existing web pages. Alternatively, you can follow the tutorials in the rest of this guide to learn how to create a simple website using sample content provided with Dreamweaver MX 2004.

The most common approach to creating a website using Dreamweaver is to create and edit pages on your local disk, and then upload copies of those pages to a remote web server to make them publicly available. You can use Dreamweaver in other ways (such as running a web server on your local computer, or uploading files to a staging server, or editing files without defining a site, or using a mounted disk as if it were your local disk), but the lessons in this guide assume that you’re working locally and then uploading to a remote server.";
</script>

Det ser jo egentlig rigtig nokud, ikke sandt? Java scriptet er jo ikke ændret i den udgave...
Avatar billede mesteren_selv Nybegynder
09. juni 2005 - 16:38 #3
De tekster der står er bare nogle jeg har taget fra en help-fil, for at teste
Avatar billede roenving Novice
09. juni 2005 - 16:40 #4
Der kommer linjeskift i en javascript-variabel, og det må der ikke !-)

-- så du skal finde en måde at erstatte de linjeskift, f.eks. med br-tags (er det ikke nl2br(text) funktionen hedder ?-)
Avatar billede mesteren_selv Nybegynder
09. juni 2005 - 16:43 #5
JOp... Det er den... 2 sek.
Avatar billede mesteren_selv Nybegynder
09. juni 2005 - 16:48 #6
Hmm... virker stadig ikke... hu ser det sådan ud:

<script type="text/javascript">
var texts = new Array();
texts[texts.length] = "This chapter explains how to set up a Dreamweaver MX 2004 site. In Dreamweaver, a site generally consists of two parts: a collection of files on a local computer (the local site), and a location on a remote web server that you upload the files to when you’re ready to make them publicly available (the remote site).<br />
<br />
After you set up a site, you can explore Dreamweaver on your own, using your own existing web pages. Alternatively, you can follow the tutorials in the rest of this guide to learn how to create a simple website using sample content provided with Dreamweaver MX 2004.<br />
<br />
The most co";
texts[texts.length] = "This chapter explains how to set up a Dreamweaver MX 2004 site. In Dreamweaver, a site generally consists of two parts: a collection of files on a local computer (the local site), and a location on a remote web server that you upload the files to when you’re ready to make them publicly available (the remote site).<br />
<br />
After you set up a site, you can explore Dreamweaver on your own, using your own existing web pages. Alternatively, you can follow the tutorials in the rest of this guide to learn how to create a simple website using sample content provided with Dreamweaver MX 2004.<br />
<br />
The most common approach to creating a website using Dreamweaver is to create and edit pages on your local disk, and then upload copies of those pages to a remote web server to make them publicly available. You can use Dreamweaver in other ways (such as running a web server on your local computer, or uploading files to a staging server, or editing files without defining a site, or using a mounted disk as if it were your local disk), but the lessons in this guide assume that you’re working locally and then uploading to a remote server.";
</script>
Avatar billede mesteren_selv Nybegynder
09. juni 2005 - 16:52 #7
Det sjove er at det jo virkede før, uden nl2br, og det er jo underligt... Den viser simpelthen bare ikke teksten i denne udgave: http://ligro.hhwl.dk/undersider/front.php
Avatar billede roenving Novice
09. juni 2005 - 16:54 #8
-- 404: Siden blev ikke fundet ...
Avatar billede mesteren_selv Nybegynder
09. juni 2005 - 16:56 #9
Avatar billede roenving Novice
09. juni 2005 - 16:57 #10
Der er jo stadig linjeskift:

<br />
The most co";
Avatar billede roenving Novice
09. juni 2005 - 17:00 #11
Iøvrigt er det ulovligt at afslutte br-tags i html4, og så bør du bruge et fuldt kvalificeret doctype-tag inklusive dtd-link:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
Avatar billede mesteren_selv Nybegynder
09. juni 2005 - 17:01 #12
Hmm... Hvor sørensen kommer de fra... Når jeg har nl2br'et burde de da være væk af sig selv... Og sidst jeg brugte det script virkede de fint, selv uden nl2br...
Avatar billede mesteren_selv Nybegynder
09. juni 2005 - 17:06 #13
Det kan godt være det er mig der er dum... Men jeg forstår ikke ret meget af det... Kan jeg ikke bare fjerne linieskift, i stedet for at oversætte dem... Det ville også forenkle en del af min anden programmering...
Avatar billede roenving Novice
09. juni 2005 - 17:08 #14
Jo, selvfølgelig !-)
Avatar billede mesteren_selv Nybegynder
09. juni 2005 - 17:12 #15
Altså i scriptet... Selvfølgelig kan jeg sidde og fjerne alle skiftene manuelt i indtastningen, men det er tredje personer, uden kendskab til scripting osv. der skal indtaste oplysningerne via en form... Kan jeg ikke lave et nl2br -agtigt tag, der bare i stedet for at erstatte nl'erne fjerner den helt?
Avatar billede roenving Novice
09. juni 2005 - 17:15 #16
jo, f.eks. med replace-funktionen:

$txt = replace("/(\n|\r)/",$txt);

-- menmåske er det en anden funktion, for jeg kender ik' så meg't til php (altså f.eks. preg_replace eller eregi_replace !-)
Avatar billede roenving Novice
09. juni 2005 - 17:16 #17
Hov, der skulle jo også være noget, som replaces med:

$txt = replace("/(\n|\r)/","",$txt);
Avatar billede mesteren_selv Nybegynder
09. juni 2005 - 17:28 #18
Jeg har prøvet med:

$t = str_replace("/(\n|\r)/", "",$txt);

Men det gør bare at teksten forsvinder helt!
Avatar billede roenving Novice
09. juni 2005 - 17:30 #19
Prøv med de andre, jeg har ikke fod på mulighederne !-)
Avatar billede mesteren_selv Nybegynder
09. juni 2005 - 17:42 #20
Bingo...:

$t = preg_replace("/(\r\n|\n|\r)/", "", $t);

Hvis du svarer får du 50 point... Det var jo dig der fortalte hvorfor den var gal!
Avatar billede mesteren_selv Nybegynder
09. juni 2005 - 17:42 #21
Mit svar
Avatar billede roenving Novice
09. juni 2005 - 17:44 #22
-- hvorfor det ?-)

-- hvis du alligevel selv vil beholde dine point hver gang, er der vel ingen grund til at udlove nogen ...

-- eller forvente, at nogen gider hjælpe dig !-(
Avatar billede mesteren_selv Nybegynder
09. juni 2005 - 17:53 #23
Undksyld... Hvis det er det du mener... Jeg er da glad for at der er nogen der gider at hjælpe mig, men de sidste gange lod det til at der ikke var nogen der ville svare, så jeg tog dem selv... Du må undskylde hvis det virker som om at jeg gør det hver gang, men jeg gør det kun hvis den hjælp jeg har fået ikke har hjulpet mig... Man skal vel heller ikke have point for ting der ikke har virket..? Du har hjulpet en del, men jeg vurderede at det var mig der denne gang fandt frem til den rigtige løsning, og fordi du hjalp mig på sporet synes jeg at du skal have halvdelen...
Avatar billede mesteren_selv Nybegynder
09. juni 2005 - 18:00 #24
Sidste gang du hjalp mig med dette spørgsmål fik du f.eks. 150 point... Og jeg har da efterhånden brugt et par tusinde point her på eksperten, og har også fået at vide at jeg udlovede for mange pr. spørgsmål
Avatar billede mesteren_selv Nybegynder
09. juni 2005 - 18:42 #25
HOvs... Fandt ud af at der fandtes en trim()-funktion:

$t = trim($t);

Bare til hvis andre ser dette spørgsmål...
Avatar billede mesteren_selv Nybegynder
09. juni 2005 - 19:21 #26
Whoooops.. Trim virkede ikke alligevel!
Avatar billede roenving Novice
10. juni 2005 - 00:13 #27
Ekspertens idé-grundlag er hjælp til selvhjælp, så nogle gange vil en vejledning, som bringer en på sporet være det præcis rigtigste svar, da du så selv kan resten af vejen !-)

-- og jeg angav i dette spørgsmål, at

1. du havde linjeskift i en javascript-variabel, som vil fjerne enhver gyldighed af javascript-blokken ...

-- og selv om jeg ikke kan en meter php, fik jeg dig til at prøve

2. nl2br til at fjerne linjeskift (og jeg fatter ikke hvad den funktion skal bruges til, hvis ikke den fjerner alle linjeskift !-)

3. fortalte dig om muligheden for at bruge replace-familien sammen med regexps, og selv om jeg ikke kender forskellen på dem, kunne jeg nogenlunde præcist angive hvor du selv skulle lede ...

Desuden har du lige den anden dag fortalt, at du var mig skyldig nogen point, så jeg syntes bestemt ikke at 100 var i underkanten for 2 timers relativ intens indsats idag samt nogle timer den anden dag, hvor du havde udlovet ialt 130 point ...
Avatar billede mesteren_selv Nybegynder
20. juni 2005 - 12:28 #28
Nå... jaja.. Vil du have de points, så?
Avatar billede roenving Novice
20. juni 2005 - 14:02 #29
Nej, jeg synes ikke, det er rimeligt, at jeg skal have dem alle, men at jeg som en del af takken for at have prøvet at hjælpe dig får f.eks. 30 point !-)

Okay ?-)
Avatar billede mesteren_selv Nybegynder
20. juni 2005 - 16:24 #30
Jops... Nu fik du halvdelen... Det var det jeg foreslog først, jo... Og mange tak for hjælpen...
Avatar billede roenving Novice
20. juni 2005 - 16:37 #31
Tjah, tiden går jo ...
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