Avatar billede jayo Nybegynder
24. august 2001 - 12:26 Der er 23 kommentarer og
3 løsninger

Opdatering af priser i HTML side

Jeg har en side med en del priser (ca. 30), som jeg manuelt opdaterer flere gange om ugen. Priserne er fordelt over hele HTML-siden, og de fleste er indsat i tabeller.
Det kan være meget rodet at opdatere priserne, da det skal gøres i selve HTML-koden.

Er der en måde vha. variabler at deklarere de forskellige værdier i toppen at dokumentet (evt. i <head>), således at værdierne automatisk vises på siden i de korrekte felter. Det ville gøre det meget lettere at opdatere.

- eller endnu bedre; kan disse priser opdateres i en separat fil (.ssi, .js eller lignende).

Håber der er en Ekspert som kan hjælpe...

-jayo
Avatar billede spectual Nybegynder
24. august 2001 - 12:28 #1
Du kan ihvert fald gøre det med javascript.
Avatar billede wizprod.com Nybegynder
24. august 2001 - 12:29 #2
sagtens!
Du kan lave en template fil, hvos kalder din priser pris1, pris2, pris3 osv... herefter kan der laves et lille script som udfra en txtfil erstatter disse values og gemmer den nye, ændrede side et sted, som du selv bestemmer!
Avatar billede blood Nybegynder
24. august 2001 - 12:33 #3
Indset dette i toppen af html siden

<script>
    function Skift(str) {
    document.all[\"pris1\"].innerHTML = \'19,95Kr\';
    document.all[\"pris2\"].innerHTML = \'28,95Kr\';
    document.all[\"pris3\"].innerHTML = \'7,95Kr\';
    }
</script>

----
og dette der hvor du vil have priserne

<DIV id=\"pris1\"></DIV>

<DIV id=\"pris2\"></DIV>

<DIV id=\"pris3\"></DIV>

Avatar billede blood Nybegynder
24. august 2001 - 12:33 #4
Ups :o)

<script>
    document.all[\"pris1\"].innerHTML = \'19,95Kr\';
    document.all[\"pris2\"].innerHTML = \'28,95Kr\';
    document.all[\"pris3\"].innerHTML = \'7,95Kr\';
</script>
Avatar billede roenving Novice
24. august 2001 - 12:37 #5
Og hvis du vil, kan du sagtens gøre, som du selv foreslår:
<head>
<title></title>
<script language=\"JavaScript\">

var pris = new Array(123, 456, 789, 12.45, 65.13);
var felter = new Array(\"Pris1\",\"Pris2\",\"Pris3\",\"Pris4\");

function indsaetPriser(){
  for (i0=;i<pris.length;i++){
    eval(\"document.forms[\'minForm\'].\"+felter[i]+\".value=\"+pris[i]);
  }
}

</script>

Nå ... den nåede at blive mere kompliceres end jeg forventede, men els zq den være god nok !~]

hth
jes
Avatar billede blood Nybegynder
24. august 2001 - 12:40 #6
roenving >> Hmmm jeg tror ikke han bruger form felter der hvor han skriver hans priser
Avatar billede roenving Novice
24. august 2001 - 12:52 #7
>>blood
Nej, men ofte er de her svar jo også ideer, som så efer en mindre diskuflere bliver til præcis det, som spørgeren har bedt om !·]

PS. Du er rigtig efter mig lige nu *s*
Avatar billede blood Nybegynder
24. august 2001 - 12:56 #8
roenving >> *G* Jeg er bare træt. Jeg har ikke sovet i 36 timer.
Avatar billede jayo Nybegynder
24. august 2001 - 13:23 #9
alletiders, men lige et par extra spg;

blood -> dit forslag ser ud til at fungere - kan dette JavaScript eventuelt laves i en separat fil, som jeg så importerer??

roenving -> hvis jeg benytter dette script, hvordan indsætter jeg værdierne i min HTML kode?

Mange tak!!

-jayo
Avatar billede blood Nybegynder
24. august 2001 - 13:29 #10
jayo >>

roenving svar virker på denne måde
<FORM NAME=\"minForm\">
<INPUT TYPE=\"text\" NAME=\"Pris1\">
<INPUT TYPE=\"text\" NAME=\"Pris2\">
<INPUT TYPE=\"text\" NAME=\"Pris3\">
<INPUT TYPE=\"text\" NAME=\"Pris4\">
</FORM>



Hvis du vil have mit svar ud i en fil gør du sårdan her.
Indset dette i toppen af din html side
<script src=\"fil.js\" type=\"text/javascript\"></script>

og i fil.js indsætter du

document.all[\"pris1\"].innerHTML = \'19,95Kr\';
document.all[\"pris2\"].innerHTML = \'28,95Kr\';
document.all[\"pris3\"].innerHTML = \'7,95Kr\';

Avatar billede jakoba Nybegynder
24. august 2001 - 13:33 #11
Der behæves vel heller ikke bruges form felter:

i .js filen  minedata.js:
// start på .js fil

function vare( liste varenr, varetekst, varepris) {
    var tmp = new Object();
    tmp.txt = varetekst;
    tmp.pris = varepris;
    liste[varenr] = tmp;
}; //end vare( string, string, number ) -> Vare objekt

var sortiment = new Array();
vare( \'k4567\', \'knæbeskytter\', 45.85 );
vare( \'k4568\', \'knæbeskytter med blå lomme\', 65.85 );
vare( \'k4544\', \'Hvis badehætte\', 35.85 );
vare( \'o4567\', \'Papirclips (pr Kg)\', 98.85 );
vare( \'k4567\', \'salt lakrids\', 2.00 );
//... osv en entry for hvert varenummer

dw = document.write;
  // dw bruges som forkortelse så vi ikke behøver skrive hele navnet

// slut på .js fil
den inkluderes så i head af dit dokument (og evt også andre dokumenter)

<script src=\'minedata.js\'></script>

ned i filen kan du så skrive de rette værdier idet filen loades:

<p>Prøv vore fortrinlige <script>dw{sortiment[\'k4568\'].txt)</script> til kun <script>dw(sortiment[\'k4568\'].pris)</script> kr pr styk.</p>
<p>NB: 40% rabat ved køb af 10. Ja de hørte rigtigt 10 stk <script>dw{sortiment[\'k4568\'].txt)</script> for kun <script>dw( ( 10*sortiment[\'k4568\'].pris)*0.6 )</script> kr!!!</p>

mvh JakobA


Avatar billede jakoba Nybegynder
24. august 2001 - 13:36 #12
PS: i \'moderne\' HTML er det præcis det XML bruges til. Når xml-kompetente browsere bliver almindelige vil det være en bedre løsning.
Avatar billede roenving Novice
24. august 2001 - 13:38 #13
Netop jakob
-- måske bliver vi også i stand til at udnytte XML fuldt en dag =·]
Avatar billede jakoba Nybegynder
24. august 2001 - 13:47 #14
Ups. Pas gevaldig på at dine varenumre er forskellige.
I mit eksempel ovenfor vil \'salt lakrids\' overskrive \'knæbeskytter\' :(
Avatar billede jakoba Nybegynder
24. august 2001 - 13:50 #15
Ups. Ups. der skal stå et komma mellem parametrene liste og varenr
  function vare( liste ,  varenr, varetekst, varepris) {
Avatar billede jayo Nybegynder
24. august 2001 - 15:47 #16
tak for hjælpen allesammen. jeg tror jeg forsøger blood\'s metode først, den ser mest overskuelig ud.

-jayo
Avatar billede jayo Nybegynder
24. august 2001 - 23:49 #17
blood,
jeg har forsøgt din løsning herhjemme, og det ser ikke ud til at fungere. Jeg får en runtime error der siger at document.all.pris1 is not an object.

Jeg har indsat flg. i en fil kaldet fil.js:

document.all[\"pris1\"].innerHTML = \'19,95Kr\';
document.all[\"pris2\"].innerHTML = \'28,95Kr\';
document.all[\"pris3\"].innerHTML = \'7,95Kr\';

som jeg så har importeret via den kommando du har givet mig.

Kan du hjælpe?

-jayo
Avatar billede jayo Nybegynder
25. august 2001 - 00:00 #18
jeg skulle måske også lige nævne at jeg har forsøgt dit første forslag (hvor JavaScriptet er på samme side), men det gav samme resultat...
-jayo
Avatar billede blood Nybegynder
25. august 2001 - 00:41 #19
Nu husker du at indsætte dette
<DIV id=\"pris1\"></DIV>

Der hvor priserne skal være????
Avatar billede jayo Nybegynder
25. august 2001 - 00:43 #20
ja, det har jeg gjort, men stadig med samme resultat... jeg går ikke ud fra, at der skal være noget mellem de to tags....
Avatar billede blood Nybegynder
25. august 2001 - 00:52 #21
Det vad da mærkeligt
Avatar billede blood Nybegynder
25. august 2001 - 00:56 #22
Hæhæ plaser dette i bunden af din side istedet :o)

<script language=\"Javascript\">
document.all[\"pris1\"].innerHTML = \"19,95Kr\";
document.all[\"pris2\"].innerHTML = \"28,95Kr\";
document.all[\"pris3\"].innerHTML = \"7,95Kr\";
</script>


eks:

<HTML>
<HEAD>
    <TITLE>[Ingen titel]</TITLE>
</HEAD>
<BODY>

<DIV id=\"pris1\"></DIV>
<DIV id=\"pris2\"></DIV>
<DIV id=\"pris3\"></DIV>

</BODY>
<script language=\"Javascript\">
document.all[\"pris\"].innerHTML=\"1995Kr\";
document.all[\"dsds\"].innerHTML=\"2895Kr\";
document.all[\"dss\"].innerHTML=\"795Kr\";
</script>
</HTML>
Avatar billede blood Nybegynder
25. august 2001 - 00:57 #23
eller fra en anden fil

<HTML>
<HEAD>
    <TITLE>[Ingen titel]</TITLE>
</HEAD>
<BODY>

<DIV id=\"pris1\"></DIV>
<DIV id=\"pris2\"></DIV>
<DIV id=\"pris3\"></DIV>

</BODY>
<script src=\"fil.js\" type=\"text/javascript\"></script>
</HTML>
Avatar billede jayo Nybegynder
25. august 2001 - 01:03 #24
perfekt!!!! det funger. Mange tak Blood, du må ha\' lov at gå i seng nu!!

-jayo
Avatar billede blood Nybegynder
25. august 2001 - 01:27 #25
jayo >> gå i seng????

Det sker ikke før en 5 tiden *g*
Avatar billede jayo Nybegynder
25. august 2001 - 01:35 #26
hmmm, jeg er nu på vej, og klokken er kun 0.30 hvor jeg er.....
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