Hej!
Jag har ett problem som jag inte vet riktigt hur jag skall förklara, men jag gör ett försök.
Har på kundsräkning fått i uppgift att göra om lite på en sida som sköter en massa uträkningar från inputfält.
Uträkningarna är uppbyggda i JavaScript, som jag inte är direkt bevandrad i. Hur som helst.
Idag anger man ett värde i ett input fält (typ: 1.1), även om man använder komma (,) skrivs det punkt i inputfältet (.).
Är det någon som vet hur jag skall ändra, så att det blir komma (,) istället?
Vet inte om min förklaring var klockren, man undrar ni något, tala om det. För jag vet inte riktigt hur jag skall bära mig år för att förklara vad jag menar!?
<script language="JavaScript">
//the main function, called when a textbox is changed
function calc(){
var a = document.getElementById("a").value;
var b = document.getElementById("b").value;
var c = document.getElementById("c").value;
var d = document.getElementById("d").value;
var g = document.getElementById("g").value;
g = parseFloat(g);
var h = document.getElementById("h").value;
h = parseFloat(h);
var i = document.getElementById("i").value;
i = parseFloat(i);
var j = document.getElementById("j").value;
j = parseFloat(j);
var e = a * b - c * d;
e = parseFloat(e);
var f = 2 * a + 2 * b;
f = parseFloat(f);
var k = f * g - i * (g*g) + j * (g*g);
k = parseFloat(k);
var l = ( f - i * 1.2 ) / 1.2;
l = parseFloat(l);
var tPLUS = ( e - k ) * h * 10 * 1.05;
var tSUPER = f * 0.6 + 1.5;
var plastspik = e * 4;
var skarvplat = l + i;
var armeringsjarn = f * 5 * 1.25;
var armeringsnat = e * 1.2;
var armeringsbyglar = f / 0.6 + i + j;
var distanser = e / 4 + f;
var betong = e * 0.1 + h * k;
var pefolie = e * 1.2;
document.getElementById("e").innerHTML = Math.round(e*10)/10;
document.getElementById("f").innerHTML = Math.ceil(f*10)/10;
document.getElementById("k").innerHTML = Math.ceil(k*10)/10;
document.getElementById("l").innerHTML = Math.round(l);
document.getElementById("i2").innerHTML = Math.ceil(i*10)/10;
document.getElementById("tPLUS").innerHTML = Math.round(tPLUS);
document.getElementById("tSUPER").innerHTML = Math.ceil(tSUPER*10)/10;
document.getElementById("plastspik").innerHTML = Math.round(plastspik);
document.getElementById("skarvplat").innerHTML = Math.round(skarvplat);
document.getElementById("armeringsjarn").innerHTML = Math.ceil(armeringsjarn);
document.getElementById("armeringsnat").innerHTML = Math.round(armeringsnat);
document.getElementById("armeringsbyglar").innerHTML = Math.round(armeringsbyglar);
document.getElementById("distanser").innerHTML = Math.round(distanser);
document.getElementById("betong").innerHTML = Math.ceil(betong*10)/10;
document.getElementById("pefolie").innerHTML = Math.round(pefolie);
}
</script>
Håller med @nders, men det är kanske så att du inte vet var du ska börja leta ens?
Jag skulle gissa att det ligger ett OnChange (?) i textrutan som kollar varje tangenttryckning som skrivs, och där byter ut tecknet [,] mot [.] meddetsamma.
[R]Och där kom koden![/R]
Är det inte så att . är det som används i beräkningar i JavaScript?
Har knappt räknat med decimaltal, men drar mig till minnes det.
Å andra sidan förklarar inte det att det ändras automatiskt, för [,] borde ge fel i beräkningar. (Det kanske tas om hand automatiskt, men visas sedan med [.]?) http://www.devguru.com/Technologies/ecmascript/quickref/math.html