Avatar billede thomas_b Nybegynder
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...

:)
Avatar billede thomas_b Nybegynder
06. maj 2009 - 19:00 #1
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');" />
Avatar billede tinebn Nybegynder
06. maj 2009 - 19:34 #2
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
Avatar billede thomas_b Nybegynder
06. maj 2009 - 21:19 #3
Narrj script'et regner jo med . og ikke ,

men har fundet løsningen... lægger den lige så andre kan se...
Avatar billede thomas_b Nybegynder
06. maj 2009 - 21:19 #4
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('.',',');

}
Avatar billede tinebn Nybegynder
06. maj 2009 - 23:15 #5
;-) Go aften
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