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 HP
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