Hej alla glada!
Nu funkar det, men efter att jag har varit inne och grejat och lagt till lite grejer
så funkar det inte alls..
<OPTION VALUE='190:128P4:Dimm PC133 128Mb 3,3v168p'>Dimm PC133 128Mb 3,3v168p</OPTION>
Ur denna stringen skall jag plocka ut priset, artikelnr och artikelnamn, dom är separerade i den
ordningen med kolon, och sen sätta samman till en sträng som ser ut ungefär såhär:
<a href=more_info.asp?Artikelnr=128P4>Dimm PC133 128Mb 3,3v168p</a>
och när man väljer någon i rullmenyn skall strängen placeras inom div taggen:
<div id="txt"><a href=more_info.asp?Artikelnr=128P4>Dimm PC133 128Mb 3,3v168p</a></div>
och sen när man väljer en ny rullgardin så skrivs det gamla värdet över med en ny länk(värdet i string).
Nedan är koden, jag har ändrat i jojoxx writeit() funktion och laggt in den i
Calc() funktionen.. men nu funkar den inte..
Felet jag får just nu är:
'document.all[...]' är null eller inte ett objekt
Och sen hur jag plockar ut artikelnr och artikelnamn det vette fåglarna, kan någon hjälpa till med det?
/t
<HTML>
<HEAD>
<script lanugage=javascript>
<!--
function Calc(iMax, Id){
// Fixa inmatade ',' decimaltecken till '.'
var slask="";
apa = document.f_Conf.txtPercent.value;
for(var i=0;i<=apa.length;i++) {
if (apa.charAt(i)==',') { slask=slask+'.';
} else { slask=slask+apa.charAt(i); }
}
var iResult=0,iArt="",i,selValue,prize, intPercent;
for(i=1; i<=iMax; i++){
selValue=eval("document.f_Conf.sel"+i+".options[document.f_Conf.sel"+i+".selectedIndex].value")
iArt+=eval("document.f_Conf.sel"+i+".selectedIndex");
prize=parseFloat(selValue.split(":"));
if(isNaN(prize)){ prize=0; }
iResult+=prize
// byta ut texten ..
// hur får jag ut ArticleNr och ArtikelNamnet från strängen???????????????
strArticleNr = selValue.split(":"));
strArticleName = selValue.split(":"));
string = "<a href=more_info.asp?ID="+strArticleNr+">"+strArticleName+"</a>"
if (document.all){
document.all[Id].innerHTML = string;
} else if (document.getElementById){
jxdocrange = document.createRange();
jxdocrange.setStartBefore(document.getElementById(Id));
while (document.getElementById(Id).hasChildNodes()){
document.getElementById(Id).removeChild(document.getElementById(Id).lastChild);
}
document.getElementById(Id).appendChild(jxdocrange.createContextualFragment(string));
}
}
document.f_Conf.txtResult.value = iResult;
document.f_Conf.txtArticleNr.value = iArt;
intPercent = parseFloat(slask);
if (isNaN(intPercent)) {
intPercent=100;
} else {
intPercent += 100;
}
document.f_Conf.txtResultPercent.value = (intPercent * parseFloat(document.f_Conf.txtResult.value))/100;
}
-->
</script>
</HEAD>
<BODY background=/Images/background-2000x050.gif onload=javascript:Calc('15');>
<form method=post action=show_conf.asp name=f_Conf>
<table border=0 cellpadding=2 cellspacing=2 width=600>
<tr vAlign=top>
<TD><TABLE border=1 cellpadding=5 cellspacing=0><TR>
<TD>Grundsystem</TD>
</TR>
<TR><TD>
<SELECT NAME=sel1 onChange=javascript:Calc('5','txt');>
<OPTION SELECTED VALUE='770:CP900:Cpu Celeron 900MHz 128K'>Cpu Celeron 900MHz 128K</OPTION>
<OPTION VALUE='880:CP950:Cpu Celeron 950MHz 128K'>Cpu Celeron 950MHz 128K</OPTION>
<OPTION VALUE='1050:CP10G:Cpu Celeron 1000MHz 128K'>Cpu Celeron 1000MHz 128K</OPTION>
<OPTION VALUE='1710:P3866:Cpu Pentium III 866MHz'>Cpu Pentium III 866MHz</OPTION>
<OPTION VALUE='2310:P310G:Cpu Pentium III 1000MHz'>Cpu Pentium III 1000MHz</OPTION>
</SELECT>
</TD></TR>
<TR><TD>
<SELECT NAME=sel2 onChange=javascript:Calc('5','txt');>
<OPTION VALUE='190:128R8:Rambus minne PC800 128MB'>Rambus minne PC800 128MB</OPTION>
<OPTION VALUE='190:128P4:Dimm PC133 128Mb 3,3v168p'>Dimm PC133 128Mb 3,3v168p</OPTION>
<OPTION VALUE='190:2563E:Dimm PC133 256Mb ECC 168p'>Dimm PC133 256Mb ECC 168p</OPTION>
<OPTION VALUE='190:256P4:Dimm PC133 256Mb 3,3v168p'>Dimm PC133 256Mb 3,3v168p</OPTION>
<OPTION SELECTED VALUE='140:64MP4:Dimm PC133 64Mb 3,3v168p'>Dimm PC133 64Mb 3,3v168p</OPTION>
</SELECT>
</TD></TR>
<TR><TD>
<SELECT NAME=sel3 onChange=javascript:Calc('5','txt');>
<OPTION VALUE='190:HG307:Hårddisk IDE 30Gb 7200rpm'>Hårddisk IDE 30Gb 7200rpm</OPTION>
<OPTION VALUE='190:HG400:Hårddisk IDE 40Gb 7200rpm'>Hårddisk IDE 40Gb 7200rpm</OPTION>
<OPTION VALUE='190:HG600:Hårddisk IDE 60Gb 7200rpm'>Hårddisk IDE 60Gb 7200rpm</OPTION>
<OPTION SELECTED VALUE=>Utan Hårddisk</OPTION>
</SELECT>
</TD></TR>
<TR><TD>
<SELECT NAME=sel4 onChange=javascript:Calc('5','txt');>
<OPTION VALUE='190:ETHNP:Ethernetkort PCI Combo'>Ethernetkort PCI Combo</OPTION>
<OPTION VALUE='0:ETHTP:Ethern.kort PCI 10/100 TP'>Ethern.kort PCI 10/100 TP</OPTION>
<OPTION SELECTED VALUE=>Inget Nätverk</OPTION>
</SELECT>
</TD></TR>
<TR><TD>
<SELECT NAME=sel5 onChange=javascript:Calc('5','txt');>
<OPTION SELECTED VALUE='190190:CE600:Miditower chassi ATX'>Miditower chassi ATX</OPTION>
<OPTION VALUE='190:FK320:Semitower chassi ATX'>Semitower chassi ATX</OPTION>
</SELECT>
</TD></TR>
</TABLE></TD>
</tr>
</table>
<br>
<table border=0 cellpadding=0 cellspacing=0 width=600>
<tr>
<td width=300>Nettopris för ovanstående konfiguration är:</td><td> <input type=text name=txtResult readonly> <i> (exkl moms)</i> </td>
</tr>
<tr>
<td width=300>Med <input type=text name=txtPercent size=2 OnChange=javascript:Calc('5','txt');> % i påslag blir det:</td><td><input type=text name=txtResultPercent readonly><i> (exkl moms)</i> </td>
</tr>
<TR>
<td width=300> </td><td> <input type=hidden name=txtArticleNr> </td>
</tr>
</table>
<input type=hidden name=txtMax value=15>
<br><br>Förhandsgranska din beställning. <input type=image value=submit src=/images/button_ok.gif> <a href=javascript:history.go(-1);><img src="/Images/button_back.gif" border=0></A>
<input type=hidden name=txtConfigName value='Arlec dator system'>
<div id="txt"></div>
</form>
------------------
the man with the golden bottle..
[Redigerat av tlee den 29 okt 2001]