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 fra Hitachi
”Forskellighed gør os stærkere!”
Diversitet er ikke kun buzzwords og politisk korrekthed, men et spørgsmål om at alle føler sig godt tilpas og kan yde deres bedste.
31. januar 2025
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