06. maj 2009 - 00:58
Der er
4 kommentarer og 1 løsning
Hvorfor virker min replace ikke?
Hej Eksperter... Hvorfor virker denne streng ikke i mit input document.getElementById('mmvejl').value=(this.value.replace(/[^0-9]/g,'')*1.25); Den giver godt nok output i en anden <input> men. skriver jeg: 200 i feltet, skiver den 250 (skulle havde skrevet 250,00) 200,25 i feltet, skiver den 25031.25 (skulle havde skrevet 250,25) osv... en der kan finde fejlen... :)
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Hvis det kan hjælpe har jeg lidt mere kode...: Jeg syntes den er ved at være der... <script> function makeamount(value,felt1,felt2,felt3){ var felt1 = document.getElementById(felt1); var felt2 = document.getElementById(felt2); var felt3 = document.getElementById(felt3); if(felt1.value.match(/[^0-9^,]/)){felt1.focus();felt1.value=felt1.value.replace(/[^0-9^,]/g,'');}; felt2.value=(felt1.value.replace(',','.')*value); felt2.value=(felt2.value.replace('.','')); var num = felt2.value/10000; felt2.value=Number(num).toFixed(2); felt2.value=(felt2.value.replace('.',',')); felt3.value=felt2.value; } function makeamountDESC(value,felt1,felt2,felt3){ var felt1 = document.getElementById(felt1); var felt2 = document.getElementById(felt2); var felt3 = document.getElementById(felt3); if(felt1.value.match(/[^0-9^,]/)){felt1.focus();felt1.value=felt1.value.replace(/[^0-9^,]/g,'');}; felt2.value=(felt1.value.replace(',','.'))/((100+value)*100); felt2.value=(felt2.value.replace('.','')); var num = felt2.value; felt2.value=(Number(num)).toFixed(2); felt2.value=(felt2.value.replace('.',',')); felt3.value=felt1.value; } </script> <input type="text" ID="mmvejl" value="<%=FormatNumber(ProductVejlSalePrice,2)%>" class="price" onfocus="this.select();document.getElementById('Edit-vejl').value='mm';" onKeyUp="makeamountDESC('25','mmvejl','umvejl','Value-vejl');" /> <input type="text" ID="umvejl" value="<%=FormatNumber(ProductVejlSalePriceVAT,2)%>" class="price" onfocus="this.select();document.getElementById('Edit-vejl').value='um';" onKeyUp="makeamount('1.25','umvejl','mmvejl','Value-vejl');" />
Hej Det må være mclemens du søger ? Jeg er ingen Ørn til Java men du har da skrevet 1.25 ?? skulle du måske skrive 1,25 Hilsen Tine
Narrj script'et regner jo med . og ikke , men har fundet løsningen... lægger den lige så andre kan se...
function makeamount(value,felt1,felt2){ var felt1 = document.getElementById(felt1); var felt2 = document.getElementById(felt2); if(felt1.value.match(/[^0-9^,]/)){felt1.focus();felt1.value=felt1.value.replace(/[^0-9^,]/g,'');}; felt2.value=felt1.value.replace(',','.'); felt2.value=((felt2.value)*(1*value)); felt2.value=(Number(felt2.value)).toFixed(2); felt2.value=felt2.value.replace('.',','); } function makeamountDESC(value,felt1,felt2){ var felt1 = document.getElementById(felt1); var felt2 = document.getElementById(felt2); if(felt1.value.match(/[^0-9^,]/)){felt1.focus();felt1.value=felt1.value.replace(/[^0-9^,]/g,'');}; felt2.value=felt1.value.replace(',','.'); felt2.value=((felt2.value)/((100+value)*100))*10000; felt2.value=(Number(felt2.value)).toFixed(2); felt2.value=felt2.value.replace('.',','); }
Vi tilbyder markedets bedste kurser inden for webudvikling