Avatar billede rdc Nybegynder
11. december 2006 - 11:14 Der er 3 kommentarer og
1 løsning

Hjælp til formular

Hejsa... Jeg har siddet og leget lidt med:

http://www.k-web.dk/helpdesk/freeware/varekurv/gnuffegod/

Det er vildt fedt indkøbskurv... men jeg har lidt problemer med at lave en ændring på det...

Hvis jeg fx gerne vil have det til at se sådan her ud:

Test Varer:                  Test1            Test2
Appelsin                (En tekstboks)    (En tekstboks)  (Knap)


Jeg har en funktion der gør således:

var justerTil;
var justerFjern
function vareAntal(inputFrame, navn, pris, formNavn, classInput, eventOption) {
    eventOption = (typeof eventOption == 'undefined') ? "" : eventOption;
    justerTil = (typeof justerTil == 'undefined') ? 'Juster' : visningData(justerTil);
    justerFjern = (typeof justerFjern == 'undefined') ? 'Fjern' : visningData(justerFjern);
    var antal = 0;
    var feltNavn = 'vk' +erstatKarakter(escape(navn));
    for (var x=0; x<kurv.length; x++) {
        if (kurv[x].navn==navn) {
            antal = kurv[x].antal;
            }
        }
    inputFrame.write('<INPUT TYPE="text" maxlength="2" VALUE="'+antal+'" SIZE="1" NAME="'+feltNavn+'">');
    }



Jeg kalder tekstboxen frem vha:

                        <SCRIPT TYPE="text/javascript">
                            vareAntal(document,'Appelsin(Test1)',50.00,'vareForm','main','alert(\'Varen er tilføjet til kurven\')')
                        </SCRIPT>

                        <SCRIPT TYPE="text/javascript">
                            vareAntal(document,'Appelsin(Test2)',50.00,'vareForm','main','alert(\'Varen er tilføjet til kurven\')')
                        </SCRIPT>


Problemet er så at nå jeg opretter en knap som skal eksiverer følgende kommando:
<A HREF="java script:void(0)" onClick="'+rammeSti+'.justerVare(\''+navn+'\','+pris+',document.'+formNavn+'.'+feltNavn+'.value);'+eventOption+';" onFocus="this.blur(" CLASS="' +classInput +'">'+justerTil+'</A>

Så får jeg naturligvis fejl i min browser.... Så det virker IKKE...

Men jeg vil ikke skrive kommandoen ind i funktionen... For så får jeg følgende ud:

Test Varer:            Test1                  Test2
Appelsin        (En tekstboks)(Knap)  (En tekstboks)(Knap)


Hvilket jeg ikke vil have... Vil have en knap som kan håndterer begge tekstboxe... Hvis jeg fx bliver skriver 2 ind i tekstboxen under Test1, og 3 i tekstboxen under Test2.. Så når man klikker på knappen, så skal der tilføjes 2 Test1'er og 3 Test2'er til kurven...


Håber i forstår hvad jeg mener...

På forhånd tusind tak for hjælpen.
Avatar billede olebole Juniormester
11. december 2006 - 13:13 #1
<ole>

Jek kan ikke få hoved eller hale i det link, du har skrevet. Den kode hænger vist da ikke sammen ... men at gætte, hvad der skulle have stået, magter jeg dog heller ikke  =)

/mvh
</bole>
Avatar billede rdc Nybegynder
11. december 2006 - 15:18 #2
Det er ret svært at forklare problemet på skrift desværre ):, men jeg prøver igen :)

Altså vi har en .js fil, som indeholder følgende:

// ret ikke i koden overhovedet - medmindre du ved, hvad du g&oslash;r =8-}
/******************************************************************/

// Varekurv - vers. 3.2
// (c) Copyright 2000-2001, Steen Andersen
// http://surf.to/steen_a - steen@k-web.dk
// Med angivne copyright indsat er koden freeware
// Koden m&aring; ikke videres&aelig;lges

thisKurvVersion = 3.2;

maxVarer = (typeof maxVarer == 'undefined') ? 0 : maxVarer;
bundgebyr = (typeof bundgebyr == 'undefined') ? 80.00 : bundgebyr;
topgebyr = (typeof topgebyr == 'undefined') ? 20.00 : topgebyr;
limit = (typeof limit == 'undefined') ? 1000.00 : limit;
betalingsForm = (typeof betalingsForm == 'undefined') ? new Array : betalingsForm;
betalingsVisning = (typeof betalingsVisning == 'undefined') ? "" : betalingsVisning;
ordreNummer = (typeof ordreNummer == 'undefined') ? 'ingen' : ordreNummer;
momsSats = (typeof momsSats == 'undefined') ? 0 : momsSats;
rabatSats = (typeof rabatSats == 'undefined') ? 0 : rabatSats;
portoAdminTekst = (typeof portoAdminTekst == 'undefined') ? 'Porto og ekspedition' : portoAdminTekst;
rammeSti = (typeof rammeSti == 'undefined') ? 'parent' : rammeSti;
brugCookie = (typeof brugCookie == 'undefined') ? 0 : brugCookie;

vareIndhold = 0;
betalingsIndex = (parseInt(getCookie( 'vkBetal')) > 0 && brugCookie) ? getCookie( 'vkBetal') : 1;

seedNummer = new Date();
aar = (''+seedNummer.getYear()).substring(2,4);
mdr = ((seedNummer.getMonth()+1)>9) ? (seedNummer.getMonth()+1) : '0' +(seedNummer.getMonth()+1);
dag = (seedNummer.getDate()>9) ? seedNummer.getDate() : '0'+seedNummer.getDate();
seedNummer = ''+seedNummer.getTime();
seedRandom = parseInt(10000+89999*Math.random());

function angivOrdreNummer() {
    if (parseInt(ordreNummer) > 0) {
        return ordreNummer;
        }
    if (brugCookie && getCookie( 'vkOrdre').length > 0) {
        return getCookie( 'vkOrdre');
        }
    var sepPos = ordreNummer.indexOf(',');
    var sepLen = ordreNummer.length;
    var sep = (sepPos>0) ? ordreNummer.substring(sepPos+1,sepLen) : '-';
    var numLen = seedNummer.length;
    var seed = "";
    if (ordreNummer.indexOf('auto') == 0) {
        seed = '' +aar+mdr+dag +sep +seedNummer.substring(numLen-9,numLen-5) +sep +seedNummer.substring(numLen-5,numLen-1) +sep +Math.round(seedRandom/10);
        }
    if (ordreNummer.indexOf('kort') == 0) {
        seed = '' +aar+mdr+dag +sep +seedRandom;
        }
    return seed;
    }

kurv = new Array;

function opretVare() {
    this.navn = "";   
    this.antal = 0;
    this.stkpris = 0;
    this.varetotal = 0;
    return this;
    }

function tilskrivVare(navn, pris, cookieState) {
    for (var x=0; x<kurv.length; x++) {
        if (kurv[x].navn==navn || kurv[x].navn=="") {
            opskrivVare(x, navn, pris);
            vareIndhold=1;
            writeCookieKurv( cookieState);
            return;
            }
        }
    if (maxVarer!=0 && x>=maxVarer) {
        alert('Du kan kun bestille '+maxVarer +' varetyper per ordre!');
        }
    else {
        kurv[x] = new opretVare();
        opskrivVare(x, navn, pris);
        vareIndhold=1;
        }
    writeCookieKurv();
    }

function opskrivVare(nr, navn, pris) {
    kurv[nr].antal += 1;
    kurv[nr].navn = navn;
    kurv[nr].stkpris = pris;
    kurv[nr].varetotal = kurv[nr].stkpris*kurv[nr].antal;
    return;
    }

function fraskrivVare(navn, pris) {
    for (var x=0; x<kurv.length; x++) {
        if (kurv[x].navn==navn) {
            if (kurv[x].antal>0) {
                nedskrivVare(x, navn, pris);
                oprydVare();
                }
            }
        }
    if (kurv[0].antal==0) {
        vareIndhold=0;
        }
    writeCookieKurv();
    }

function nedskrivVare(nr, navn, pris) {
    kurv[nr].antal -= 1;
    kurv[nr].navn = navn;
    kurv[nr].stkpris = pris;
    kurv[nr].varetotal = kurv[nr].stkpris*kurv[nr].antal;
    return;
    }

function justerVare(navn, pris, antal) {
    if (typeof antal == 'undefined') {
        alert('Der er ikke angivet antal for "justerVare"')
        return;
        }
    for (var x=0; x<kurv.length; x++) {
        if (kurv[x].navn==navn) {
            kurv[x].antal=0;
            oprydVare();
            }
        }
    if (antal) {
        for (var x=1; x<=antal; x++) {
            tilskrivVare(navn, pris, 'preserve');
            }
        }
    if (typeof kurv[0] != 'undefined' && kurv[0].antal==0) {
        vareIndhold=0;
        }
    writeCookieKurv();
    }

function fjernVare(navn, pris) {
    for (var x=0; x<kurv.length; x++) {
        if (kurv[x].navn==navn) {
            kurv[x].antal=0;
            oprydVare();
            }
        }
    if (kurv[0].antal==0) {
        vareIndhold=0;
        }
    writeCookieKurv();
    }

function oprydVare() {
    var x=0;
    for (x=0; x<kurv.length-1; x++) {
        if (kurv[x].antal==0) {
            kurv[x].antal = kurv[x+1].antal;
            kurv[x+1].antal = 0;
            if (kurv[x].antal==0) {
                kurv[x].navn = "";
                }
            else {
                kurv[x].navn = kurv[x+1].navn;
                }
            kurv[x+1].navn = "";
            kurv[x].stkpris = kurv[x+1].stkpris;
            kurv[x].varetotal = kurv[x+1].varetotal;
            }
        }
    if (kurv[x].antal==0) {
        kurv[x].navn="";
        }
    }

function fjernAlleVare() {
    for (var x=0; x<kurv.length; x++) {
            kurv[x].antal = 0;
            kurv[x].navn = "";
            kurv[x].stkpris = 0;
            kurv[x].varetotal = 0;
        }
    vareIndhold=0;
    betalingsIndex=1;
    fjernCookieKurv();
    }

function sorterVare() {
    var sorterTemp = new opretVare;
    var sorterOk = 0;
    for (var x=0; x<kurv.length-1; x++) {
        if (kurv[x].navn>kurv[x+1].navn & kurv[x+1].navn!="") {
            sorterTemp = kurv[x];
            kurv[x] = kurv[x+1];
            kurv[x+1] = sorterTemp;
            sorterOk = 1;
            }
        }
    if (sorterOk) {
        sorterVare()
        }
    }

function vareFelt(inputFrame, navn, pris, classInput, eventOption) {
    eventOption = (typeof eventOption == 'undefined') ? "" : eventOption;
    var antal = 0;
    for (var x=0; x<kurv.length; x++) {
        if (kurv[x].navn==navn) {
            antal = kurv[x].antal;
            }
        }
    inputFrame.write('<INPUT TYPE="text" VALUE="'+antal+'" SIZE="2" CLASS="' +classInput +'" onchange="' +rammeSti +'.justerVare(\''+navn+'\','+pris+',this.value);'+eventOption+'">');
    }

var justerTil;
var justerFjern
function vareAntal(inputFrame, navn, pris, formNavn, classInput, eventOption) {
    eventOption = (typeof eventOption == 'undefined') ? "" : eventOption;
    justerTil = (typeof justerTil == 'undefined') ? 'Juster' : visningData(justerTil);
    justerFjern = (typeof justerFjern == 'undefined') ? 'Fjern' : visningData(justerFjern);
    var antal = 0;
    var feltNavn = 'vk' +erstatKarakter(escape(navn));
    for (var x=0; x<kurv.length; x++) {
        if (kurv[x].navn==navn) {
            antal = kurv[x].antal;
            }
        }
    inputFrame.write('<INPUT TYPE="text" maxlength="2" VALUE="'+antal+'" SIZE="1" NAME="'+feltNavn+'">');
    inputFrame.write('<A HREF="java script:void(0)" onClick="'+rammeSti+'.justerVare(\''+navn+'\','+pris+',document.'+formNavn+'.'+feltNavn+'.value);'+eventOption+';" onFocus="this.blur()" CLASS="' +classInput +'">'+justerTil+'</A>');
    }

refString = "";
function erstatKarakter(indStreng) {
    var strengLen = indStreng.length;
    var okChar = "0123456789abcdefghijklmnopqrstuvwxyz_";
    var ch = "";
    var tmpStreng = "";
    for (var x=0; x<=strengLen; x++) {
        ch = indStreng.charAt(x)
        if (okChar.indexOf(ch.toLowerCase())<0) {
            refString = (refString.indexOf(ch)<0) ? refString+ch  : refString;
            tmpStreng += refString.indexOf(ch);
            }
        else {
            tmpStreng += ch;
            }
        }
        return tmpStreng;
    }

function samletVarePris() {
    var pris=0;
    for (var x=0; x<kurv.length; x++) {
        if (kurv[x].antal!=0) {
            pris += kurv[x].antal * kurv[x].stkpris;
            }
        }
    pris = pris-(pris*rabatSats/100);
    return pris;
    }

function vareMoms() {
    if (typeof momsSats == 'undefined' || momsSats<=0 ) {
        return 0;
        }
    else {
        return ((samletVarePris()+forsendelse())*momsSats)/100;
        }
    }

function forsendelse() {
    var porto=0;
    betalingsIndex = (betalingsForm.length>0) ? betalingsIndex : 0;
    if (limit==0 || samletVarePris()>=limit) {
        porto = (betalingsIndex==0) ? topgebyr : betalingsForm[betalingsIndex]+topgebyr;
        }
    else {
        porto = (betalingsIndex==0) ? bundgebyr : betalingsForm[betalingsIndex]+bundgebyr;
        }
    return porto;
    }

function prisKonvert(inputPris) {
    var strTal="0123456789";
    var pris = "" +Math.floor(inputPris) +".";
    var tmpTal
    tmpTal = strTal.charAt(((inputPris*10) % 10));
    tmpTal = (tmpTal=="") ? 0 : tmpTal;
    pris += tmpTal;
    tmpTal = strTal.charAt(Math.round(((inputPris*100) % 10)))
    tmpTal = (tmpTal=="") ? 0 : tmpTal;
    pris += tmpTal;
    return pris;
    }

function vareTekst(inputFrame, feltNavn) {
    sorterVare();
    var tekst="\n\n";
    var tempTekst="";
    var posLen=0;
    var antalLen=0;
    var navnLen=0;
    var stkprisLen=0;
    var rabatLen = "Rabat".length;
    var varetotalLen=0;
    var stepLen=0;
    var spaces=5;
    if (ordreNummer.indexOf('ingen') == -1 && ordreNummer.length > 0) {
        tekst += 'Ordrenummer  : ' +angivOrdreNummer() +"\n";
        }
    for (var x=0; x<kurv.length; x++) {
        if (kurv[x].antal!=0) {
            posLen = (x.toString().length>posLen) ? x.toString().length : posLen;
            antalLen = (kurv[x].antal.toString().length>antalLen) ? kurv[x].antal.toString().length : antalLen;
            navnLen = (kurv[x].navn.toString().length>navnLen) ? kurv[x].navn.toString().length : navnLen;
            stkprisLen = (kurv[x].stkpris.toString().length>stkprisLen) ? kurv[x].stkpris.toString().length : stkprisLen;
            varetotalLen = (kurv[x].varetotal.toString().length>varetotalLen) ? kurv[x].varetotal.toString().length : varetotalLen;
            }
        }
    tempTekst = "";
    tempTekst = tempTekst + "Pos";
    stepLen = posLen + spaces;
    tempTekst = setSpace(tempTekst,stepLen) +"Antal";
    stepLen = stepLen +antalLen + spaces;
    tempTekst = setSpace(tempTekst,stepLen) +"Vare";
    stepLen = stepLen +navnLen + spaces;
    tempTekst = setSpace(tempTekst,stepLen) +"Pris";
    stepLen = stepLen +stkprisLen + spaces;
    if (rabatSats>0) {
        tempTekst = setSpace(tempTekst,stepLen) +"Rabat";
        stepLen = stepLen +rabatLen + spaces;
        }
    tempTekst = setSpace(tempTekst,stepLen) +"Varetotal";
    tekst += tempTekst +"\n";
    for (var x=0; x<kurv.length; x++) {
        tempTekst = "";
        if (kurv[x].antal!=0) {
            tempTekst = tempTekst + (x+1);
            stepLen = posLen + spaces;
            tempTekst = setSpace(tempTekst,stepLen) +kurv[x].antal;
            stepLen = stepLen + antalLen + spaces;
            tempTekst = setSpace(tempTekst,stepLen) +kurv[x].navn;
            stepLen = stepLen + navnLen + spaces;
            tempTekst = setSpace(tempTekst,stepLen) +prisKonvert(kurv[x].stkpris);
            stepLen = stepLen + stkprisLen + spaces;
            if (rabatSats>0) {
                tempTekst = setSpace(tempTekst,stepLen) +rabatSats +'% ';
                stepLen = stepLen + rabatLen + spaces;
                }
            tempTekst = setSpace(tempTekst,stepLen) +prisKonvert(kurv[x].varetotal-kurv[x].varetotal*rabatSats/100);
            }
        tekst += tempTekst +"\n";
        }
        tekst += "\nVarer total      : " +prisKonvert(samletVarePris()) +"\n";
        tekst += "\nPorto/ekspedition : " +prisKonvert(forsendelse()) +"\n";
    if (vareMoms()>0) {
        tekst += "\nMoms              : " +prisKonvert(vareMoms()) +"\n";
        }
        tekst += "\nSamlet total      : " +prisKonvert(samletVarePris()+forsendelse()+vareMoms()) +"\n";
    if (betalingsIndex!=0) {
        tekst += "\nBetaling          : " +betalingsForm[betalingsIndex-1] +"\n";
        }
    inputFrame.write('<PRE><INPUT TYPE="hidden" VALUE="'+tekst+'\n\n" NAME="'+feltNavn+'"></PRE>')
    }

function setSpace(inputTekst, stopLen) {
    for (var x=inputTekst.length; x<=stopLen; x++) {
        inputTekst += " ";
        }
    return inputTekst;
    }

var visningTil;
var visningFra;
var visningFjern;
function udskrivKurv(inputFrame, classInput, eventOption) {
    visningTil = (typeof visningTil == 'undefined') ? 'L&aelig;g i' : visningData(visningTil);
    visningFra = (typeof visningFra == 'undefined') ? 'Tag op' : visningData(visningFra);
    visningFjern = (typeof visningFjern == 'undefined') ? 'Fjern' : visningData(visningFjern);
    eventOption = (typeof eventOption == 'undefined') ? "" : ";"+eventOption;
    sorterVare();
    varePos=0;
    if (!vareIndhold) {
        inputFrame.write('<CENTER class="'+classInput+'">&nbsp;<BR>Varekurven er tom!</CENTER>');
        }
    else {
        inputFrame.write('<TABLE BORDER="0" CELLSPACING="0" CELLPADDING="0" CLASS="'+classInput+'">');
        if (ordreNummer.indexOf('ingen') == -1 && ordreNummer.length > 0) {
            inputFrame.write('<TR VALIGN="top"><TD COLSPAN="9" CLASS="'+classInput+'"><B>Ordrenummer: </B>'+angivOrdreNummer()+'</TD></TR>');
            }
        inputFrame.write('<TR VALIGN="top"><TD ALIGN="right" CLASS="'+classInput+'"> <B>Pos</B>&nbsp;&nbsp;</TD><TD ALIGN="right" class="'+classInput+'"> <B>Antal</B>&nbsp;&nbsp;</TD><TD class="'+classInput+'"><B>Produkt</B></TD><TD ALIGN="right" class="'+classInput+'"><B>Stk.pris</B>&nbsp;&nbsp;</TD><TD class="'+classInput+'">');
        if (rabatSats>0) {
            inputFrame.write('<B>Rabat</B>');
            }
        inputFrame.write('</TD><TD ALIGN="right" class="'+classInput+'"><B>Total</B>&nbsp;&nbsp;</TD><TD></TD><TD></TD><TD></TD></TR>');
        for (var x=0; x<kurv.length; x++) {
            if (kurv[x].antal!=0) {
                inputFrame.write('<TR VALIGN="top"><TD ALIGN="center" class="'+classInput+'">'+(++varePos)+'</TD><TD ALIGN="right" class="'+classInput+'">' +kurv[x].antal +'&nbsp;&nbsp;&nbsp;&nbsp;</TD><TD class="'+classInput+'">' +kurv[x].navn +'&nbsp;&nbsp;</TD><TD ALIGN="right" class="'+classInput+'">&nbsp;&nbsp;' +prisKonvert(kurv[x].stkpris) +'&nbsp;&nbsp;</TD><TD ALIGN="center" class="'+classInput+'">');
                if (rabatSats>0) {
                    inputFrame.write(rabatSats +'%');
                    }
                inputFrame.write('</TD><TD ALIGN="right" class="'+classInput+'">&nbsp;&nbsp;' +prisKonvert(kurv[x].varetotal-kurv[x].varetotal*rabatSats/100) +'&nbsp;&nbsp;</TD><TD ALIGN="center" CLASS="'+classInput+'"><NOBR>&nbsp;&nbsp;<A HREF="java script:window.location.href=window.location.href;" onFocus="this.blur()" onClick="' +rammeSti +'.tilskrivVare(\''+kurv[x].navn+'\','+kurv[x].stkpris+')'+eventOption+';return;" CLASS="'+classInput+'">'+visningTil+'</A>&nbsp;</NOBR></TD><TD ALIGN="center" CLASS="'+classInput+'"><NOBR>&nbsp;&nbsp;<A HREF="java script:window.location.href=window.location.href;" onFocus="this.blur()" onClick="' +rammeSti +'.fraskrivVare(\''+kurv[x].navn+'\','+kurv[x].stkpris+')'+eventOption+';return;" CLASS="'+classInput+'">'+visningFra+'</A>&nbsp;</NOBR></TD><TD ALIGN="center" CLASS="'+classInput+'"><NOBR>&nbsp;&nbsp;<A HREF="java script:window.location.href=window.location.href;" onFocus="this.blur()" onClick="' +rammeSti +'.fjernVare(\''+kurv[x].navn+'\','+kurv[x].stkpris+')'+eventOption+';return;" CLASS="'+classInput+'">'+visningFjern+'</A>&nbsp;</NOBR></TD></TR>');
                }
            }
        inputFrame.write('<TR VALIGN="top"><TD></TD><TD ALIGN="right" class="'+classInput+'"></TD><TD class="'+classInput+'"></TD><TD class="'+classInput+'"></TD><TD ALIGN="right" class="'+classInput+'"></TD><TD ALIGN="right" class="'+classInput+'"><HR></TD><TD></TD><TD></TD></TR>');
        inputFrame.write('<TR VALIGN="top"><TD></TD><TD ALIGN="right" class="'+classInput+'"></TD><TD ALIGN="right" COLSPAN="3" CLASS="'+classInput+'"><B>Varer total</B>&nbsp;&nbsp;</TD><TD ALIGN="right" class="'+classInput+'">&nbsp;'+prisKonvert(samletVarePris())+'&nbsp;&nbsp;</TD><TD VALIGN="top" ROWSPAN="5" COLSPAN="3">&nbsp;<BR></TD></TR>');
        if (portoAdminTekst.length) {
            inputFrame.write('<TR VALIGN="top"><TD></TD><TD ALIGN="right" class="'+classInput+'"></TD><TD ALIGN="right" COLSPAN="3" CLASS="'+classInput+'">'+portoAdminTekst +' &nbsp;&nbsp;</TD><TD ALIGN="right" class="'+classInput+'">'+prisKonvert(forsendelse())+'&nbsp;&nbsp;</TD></TR>');
                }
            else {    inputFrame.write('<TR><TD COLSPAN="4"></TD></TR>');    }
        if (momsSats>0) {
            inputFrame.write('<TR VALIGN="top"><TD></TD><TD ALIGN="right" class="'+classInput+'"></TD><TD ALIGN="right" COLSPAN="3" CLASS="'+classInput+'"><B>Moms</B> ('+momsSats+'%)&nbsp;&nbsp;</TD><TD ALIGN="right" class="'+classInput+'">&nbsp;'+prisKonvert(vareMoms())+'&nbsp;&nbsp;</TD><TD VALIGN="top" ROWSPAN="5" COLSPAN="3">&nbsp;<BR></TD></TR>');
            }
        inputFrame.write('<TR VALIGN="top"><TD></TD><TD ALIGN="right" class="'+classInput+'"></TD><TD class="'+classInput+'"></TD><TD class="'+classInput+'"></TD><TD ALIGN="right" class="'+classInput+'"></TD><TD ALIGN="right" class="'+classInput+'"><HR></TD></TR>');
        inputFrame.write('<TR VALIGN="top"><TD></TD><TD ALIGN="right" class="'+classInput+'"></TD><TD ALIGN="right" COLSPAN="3" CLASS="'+classInput+'"><B>Samlet total</B>&nbsp;&nbsp;</TD><TD ALIGN="right" class="'+classInput+'">&nbsp;'+prisKonvert(samletVarePris()+forsendelse()+vareMoms()) +'&nbsp;&nbsp;</TD></TR>');
        inputFrame.write('<TR VALIGN="top"><TD></TD><TD ALIGN="right" class="'+classInput+'"></TD><TD class="'+classInput+'"></TD><TD class="'+classInput+'"></TD><TD ALIGN="right" class="'+classInput+'"></TD><TD ALIGN="right" class="'+classInput+'"><HR></TD></TR>');
        inputFrame.write('<TR><TD COLSPAN="7">'+betalingsFelt(classInput)+'</TD></TR>');
        inputFrame.write('</TABLE>');
        }
    }

function udskrivKurvForside(inputFrame, classInput, eventOption) {
    eventOption = (typeof eventOption == 'undefined') ? "" : ";"+eventOption;
    sorterVare();
    varePos=0;
    if (!vareIndhold) {
        inputFrame.write('<FONT face="tahoma, verdana, arial" color="#333333" size="2">Du har ingen varer i din kurv</font>');
        }
    else {
        for (var x=0; x<kurv.length; x++) {
            if (kurv[x].antal!=0) {
                inputFrame.write('<table width="200" cellpadding="0" cellspacing="0" cols="0" ><tr><td align="left"><FONT face="tahoma, arial" color="#333333" size="4">1 x ' +kurv[x].antal +' (' +kurv[x].navn +')</font></td><td align="right"><FONT face="tahoma, arial" color="#333333" size="4">' +prisKonvert(kurv[x].stkpris) +'<A HREF="java script:window.location.href=window.location.href;" onFocus="this.blur()" onClick="' +rammeSti +'.fraskrivVare(\''+kurv[x].navn+'\','+kurv[x].stkpris+')'+eventOption+';return;" alt="Fjern varen fra kurven">x</A></font></td></tr></table>');
                }
            }
        }
   
    }

function visningData(inputData) {
    if (inputData.indexOf("IMG:")==0) {
        var imgData = '';
        var wData = '';
        var hData = '';
        var aData = '';
        var wSep = inputData.indexOf(",");
        var hSep = inputData.indexOf(",", wSep+1);
        var aSep = inputData.lastIndexOf(",");
        imgData = inputData.substring(4,wSep);
        wData = inputData.substring(wSep+3,hSep);
        hData = (hSep != aSep) ? inputData.substring(hSep+3,aSep) : inputData.substring(hSep+3,inputData.length);
        aData = (hSep != aSep) ? inputData.substring(aSep+5,inputData.length) : "";
        return '<IMG SRC="'+imgData+'" BORDER="0" WIDTH="'+wData+'" HEIGHT="'+hData+'" ALT="'+ aData+'">'
        }
    return inputData;
    }

function setCookie( cName, cValue, cExpires) {
    if ( !cExpires) {
        cExpires = new Date();
        cExpires.setDate( cExpires.getDate()+1);
        }
    document.cookie = cName +"=" +cValue +"; expires=" +cExpires.toGMTString() +"; path=/";
    }

function getCookie( cName) {
    var cOut = "";
    var dCook = document.cookie;
    var cIndex = dCook.indexOf( cName);
    var lIndex = (cIndex < dCook.lastIndexOf( ";")) ? dCook.indexOf(";", cIndex) :  dCook.length;
    if ( cIndex>=0 ) {
        cOut = dCook.substring( dCook.indexOf("=", cIndex)+1, lIndex);
        }
    return cOut;
    }

function delCookie( cName) {
    cExpires = new Date();
    cExpires.setDate( cExpires.getDate()-1);
    document.cookie = cName +"=; expires=" +cExpires.toGMTString() +"; path=/";
    }

function fjernCookieKurv() {
    if (!brugCookie) {
        return;
        }
    delCookie( 'vkLinier');
    delCookie( 'vkBetal');
    delCookie( 'vkVisning');
    delCookie( 'vkOrdre');
    delCookie( 'vkKurv');
    }

function writeCookieKurv( cookieState) {
    if (!brugCookie || cookieState=='preserve') {
        return;
        }
    var ordreNummer = angivOrdreNummer()
    fjernCookieKurv();
    var antal = 0;
    var setKurv = '';
    if (kurv.length) {
        for (var x=0; x<kurv.length; x++) {
            if (kurv[x].antal) {
                if (escape(setKurv).length<2000) {
                    setKurv += escape( kurv[x].navn) +',';
                    setKurv += kurv[x].stkpris +',';
                    setKurv += kurv[x].antal +',';
                    antal++;
                    }
                else {
                    alert('Varekurven kan ikke indeholde flere varer..!\n\nDu kan foretage yderligere bestilling efter denne.')
                    }
                }
            }
        setCookie( 'vkKurv', setKurv);
        setCookie( 'vkLinier', antal);
        setCookie( 'vkOrdre', ordreNummer);
        setCookie( 'vkBetal', betalingsIndex);
        setCookie( 'vkVisning', betalingsVisning);
        }
    }

function readCookieKurv() {
    if (parseInt( getCookie( 'vkLinier'))) {
        betalingsVisning = getCookie( 'vkVisning');
        betalingsIndex = parseInt(getCookie( 'vkBetal'));
        var vkLinier = parseInt( getCookie( 'vkLinier'));
        var vkKurv = getCookie('vkKurv');
        var posL = 0;
        var posH = vkKurv.indexOf( ',', posL+1);
        for (var x=0; x<vkLinier; x++) {
            var navn = unescape(vkKurv.substring( posL, posH));
            posL = posH+1;
            posH = vkKurv.indexOf( ',', posL+1);
            var pris = parseFloat(vkKurv.substring( posL, posH));
            posL = posH+1;
            posH = vkKurv.indexOf( ',', posL+1);
            var antal = parseInt(vkKurv.substring( posL, posH));
            posL = posH+1;
            posH = vkKurv.indexOf( ',', posL+1);
            justerVare( navn, pris, antal)
            }
        }
    }

if (parseInt(getCookie('vkLinier'))>0 && brugCookie) {
    readCookieKurv();
    }

function dummy(){
    // do nothing :-) ;
    }

Jeg sidder så og prøver at udvide det lidt... Ligenu kan jeg få ser det sådan her ud, når jeg udskriver koden i en formular:

Test Varer:            Test1                  Test2
Appelsin        (En tekstboks)(Knap)  (En tekstboks)(Knap)

Ovenstående kommer frem ved at skrive det her:

                        <SCRIPT TYPE="text/javascript">
                            vareAntal(document,'Appelsin(Test1)',50.00,'vareForm','main','alert(\'Varen er tilføjet til kurven\')')
                        </SCRIPT>

                        <SCRIPT TYPE="text/javascript">
                            vareAntal(document,'Appelsin(Test2)',50.00,'vareForm','main','alert(\'Varen er tilføjet til kurven\')')
                        </SCRIPT>


Det skyldes jo netop fordi at jeg kalder funktionen "vareAntal" .js filen.

Den indeholder jo:

var justerTil;
var justerFjern
function vareAntal(inputFrame, navn, pris, formNavn, classInput, eventOption) {
    eventOption = (typeof eventOption == 'undefined') ? "" : eventOption;
    justerTil = (typeof justerTil == 'undefined') ? 'Juster' : visningData(justerTil);
    justerFjern = (typeof justerFjern == 'undefined') ? 'Fjern' : visningData(justerFjern);
    var antal = 0;
    var feltNavn = 'vk' +erstatKarakter(escape(navn));
    for (var x=0; x<kurv.length; x++) {
        if (kurv[x].navn==navn) {
            antal = kurv[x].antal;
            }
        }
    inputFrame.write('<INPUT TYPE="text" maxlength="2" VALUE="'+antal+'" SIZE="1" NAME="'+feltNavn+'">');
    inputFrame.write('<A HREF="java script:void(0)" onClick="'+rammeSti+'.justerVare(\''+navn+'\','+pris+',document.'+formNavn+'.'+feltNavn+'.value);'+eventOption+';" onFocus="this.blur()" CLASS="' +classInput +'">'+justerTil+'</A>');
    }

Altså hvergang jeg kalder den funktion, så udskriver den en tekstbox og et link/knap bag tekstboksen..


---------------------------------------------------------

Det jeg gerne vil have er at det skal se sådan her ud:

Test Varer:                  Test1            Test2
Appelsin                (Tekstboks1)    (Tekstboks2)  (Knap)

Altså at jeg fx bare kan nøjes med at skrive:

                        <SCRIPT TYPE="text/javascript">
                            vareAntal(document,'Appelsin(Test1)',50.00,'Appelsin(Test2)',50.00,'vareForm','main','alert(\'Varen er tilføjet til kurven\')')
                        </SCRIPT>

Når man så klikker på knappen, som kommer fra funktionen "vareAntal" så skal den aktiverer begge tekstbokse, altså: TekstBox1 og TekstBox2.


Kort sagt, så vil jeg gerne samle to knapper til en knap...


Skriv endelig hvis jeg skal uddybe mig mere....
Avatar billede rdc Nybegynder
12. december 2006 - 11:27 #3
hjælp !!!!
Avatar billede rdc Nybegynder
02. januar 2007 - 19:26 #4
lukker
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