Avatar billede stkol Nybegynder
01. december 2004 - 21:10 Der er 12 kommentarer og
1 løsning

Expected ) fejl som jeg ikke lige kan gennemskue!!

Hejsa

Jeg får følgende fejl i mit java script:

Line: 204
Error: Expected ')'

koden er denne:

<SCRIPT LANGUAGE="JavaScript">
var justerTil;
var justerFjern
function vareAntal<%=prodrs("id")%>(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('<SPAN CLASS="'+classInput+'"><INPUT TYPE="text" VALUE="'+antal+'" SIZE="2" CLASS="' +classInput +'" NAME="'+feltNavn+'" onKeyup="calc('total<%=prodrs("id")%>', antal<%=prodrs("id")%>.value, '<%=newprice%>.00')">&nbsp;');
    inputFrame.write('&nbsp;<A HREF="java script:void(0)" onClick="'+rammeSti+'.justerVare(\''+navn+'\','+pris+',document.'+formNavn+'.'+feltNavn+'.value);'+eventOption+';" onFocus="this.blur()" CLASS="' +classInput +'">'+justerTil+'</A>&nbsp;');
    inputFrame.write('&nbsp;<A HREF="java script:void(0)" onClick="document.'+formNavn+'.'+feltNavn+'.value=0;'+rammeSti+'.justerVare(\''+navn+'\','+pris+',document.'+formNavn+'.'+feltNavn+'.value);'+eventOption+';" onFocus="this.blur()" CLASS="' +classInput +'">'+justerFjern+'</A>&nbsp;</SPAN>');
    }
</SCRIPT>   


Den linie som fejlen referer til er den 2 sidste }

Jeg er lost, og fatter ikke et ha! Er der nogen der kan gennemskue fejlen i koden??

PFT *S

Stig :-)
Avatar billede olebole Juniormester
01. december 2004 - 21:42 #1
<ole>

Dette er i hvert fald kulsort:
  onFocus="this.blur(" CLASS="' +classInput +'">
... det fatter jeg ikke, hvad du mener med.

Desuden synes denne virker temmelig besynderlig:
  var feltNavn = 'vk' +erstatKarakter(escape(navn));
... hvad mener du der?

/mvh
</bole>
Avatar billede stkol Nybegynder
01. december 2004 - 22:09 #2
Hmm Det er en del fra et størrer indkøbssystem som jeg er ved at lave lidt ekstra funktionalitet i så det passer til den side som jeg arbejder på.

Den originale kode er fra følgende link :
http://www.nytid.dk/helpdesk/freeware/varekurv/gnuffegod/
Avatar billede olebole Juniormester
01. december 2004 - 22:14 #3
Jeg begynder ikke at downloade koder for at finde dine fejl - men dels virker koden ikke synderlig godt skrevet, dels tror jeg, du selv har introduceret en fejl i linien:
  onFocus="this.blur(" CLASS="' +classInput +'">
Avatar billede stkol Nybegynder
01. december 2004 - 22:16 #4
Den originale kode som er taget ud fra den originale .js fil ser sådan her ud:

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('<SPAN CLASS="'+classInput+'"><INPUT TYPE="text" VALUE="'+antal+'" SIZE="2" CLASS="' +classInput +'" NAME="'+feltNavn+'" onKeyup="calc('total<%=prodrs("id")%>', antal<%=prodrs("id")%>.value, '<%=newprice%>.00')">&nbsp;');
    inputFrame.write('&nbsp;<A HREF="java script:void(0)" onClick="'+rammeSti+'.justerVare(\''+navn+'\','+pris+',document.'+formNavn+'.'+feltNavn+'.value);'+eventOption+';" onFocus="this.blur()" CLASS="' +classInput +'">'+justerTil+'</A>&nbsp;');
    inputFrame.write('&nbsp;<A HREF="java script:void(0)" onClick="document.'+formNavn+'.'+feltNavn+'.value=0;'+rammeSti+'.justerVare(\''+navn+'\','+pris+',document.'+formNavn+'.'+feltNavn+'.value);'+eventOption+';" onFocus="this.blur()" CLASS="' +classInput +'">'+justerFjern+'</A>&nbsp;</SPAN>');
    }
Avatar billede stkol Nybegynder
01. december 2004 - 22:19 #5
Som du kan se er det eneste jeg har tilføjet, følgende:

onKeyup="calc('total<%=prodrs("id")%>', antal<%=prodrs("id")%>.value, '<%=newprice%>.
Avatar billede olebole Juniormester
02. december 2004 - 00:18 #6
Yups - den originale kode er også noget vrøvl  :)
Der mangler en parentes-afslutning et par steder ved 'this.blur()':
  inputFrame.write('&nbsp;<A HREF="java script:void(0)" onClick="document.'+formNavn+'.'+feltNavn+'.value=0;'+rammeSti+'.justerVare(\''+navn+'\','+pris+',document.'+formNavn+'.'+feltNavn+'.value);'+eventOption+';" onFocus="this.blur()" CLASS="' +classInput +'">'+justerFjern+'</A>&nbsp;</SPAN>');
Avatar billede olebole Juniormester
02. december 2004 - 00:18 #7
:)
Avatar billede stkol Nybegynder
02. december 2004 - 05:23 #8
Ja det hjælper at smide den nye kode ind *S Men så er der jo det som jeg har tilføjet, hvad skal jeg gøre med det?? For når jeg smider den ind, kommer fejlen igen :)
Avatar billede stkol Nybegynder
02. december 2004 - 05:23 #9
Det er forøvrigt denne kode *SS

onKeyup="calc('total<%=prodrs("id")%>', antal<%=prodrs("id")%>.value, '<%=newprice%>'"
Avatar billede olebole Juniormester
02. december 2004 - 13:09 #10
Prøv:
  onKeyup="calc('total<%=prodrs("id")%>', antal<%=prodrs("id")%>.value, '<%=newprice%>')"
Avatar billede stkol Nybegynder
02. december 2004 - 21:12 #11
Desværer, det hjælper ikke :-( Kan det have noget med min ASP kode, som jeg har inde i onKeyUp ???
Avatar billede stkol Nybegynder
02. december 2004 - 21:30 #12
Hmm! Det underlige er at scriptet virker, på nær at den kommer med den irreterende fejl!!!
Avatar billede stkol Nybegynder
02. december 2004 - 22:14 #13
Nu har jeg fundet ud af at fejlen ikke er selve indkøbskoden, men derimod det script som onKeyup="calc('total<%=prodrs("id")%>', antal<%=prodrs("id")%>.value, '<%=newprice%>'" refererer til der er problemet

den er:

<script language="javascript"><!--
function ciffer2(total) {
        if ((i = total.indexOf('.')) > -1) {
            tmpstr = total.substring(++i);
            total = total.substr(0, i);
            if (tmpstr.length < 2) {
                resstr = tmpstr;
                for (c = tmpstr.length; c < 2; c++)
                    resstr += '0';
            } else {
                resstr = tmpstr.substr(0, 2);
            }               
            total += resstr;
        } else {
            total += '.00';
        }
        return total;
}

function calc(dest, _amount, _price) {
    amount = parseInt(_amount);
    if (!isNaN(amount)) { //is amount a number
        total = String(amount * parseFloat(_price));
        eval('document.forms[0].'+dest).value = ciffer2(total);
    } else {
        eval('document.forms[0].'+dest).value = '0.00';
    }
    calcTotal();
}

function calcTotal() {
    e = document.forms[0].elements;
    total = 0.0;
    for (i=0; i < e.length; i++) {
        if (e[i].name.indexOf('total')>-1) {
            total += parseFloat(e[i].value);
        }
    }
    document.forms[0].formtot.value = ciffer2(String(total));
}
//-->
</script>

Har du nogen ide om hvad der kan være galt der?? Det er som om at når OnKeyUp funktionen ligger i varekurv koden, så går den galt!!???

Jeg dobler gerne op i point ;)


<input type="tekst" class="shopcalcbox" name="total<%=prodrs("id")%>" value="0.00" style="width: 80px;" readonly>
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