Rekenmachine in Javascript

Status
Niet open voor verdere reacties.

jimderonde

Nieuwe gebruiker
Lid geworden
15 okt 2009
Berichten
3
Hoi allemaal,

Ik ben zeg maar een beetje nieuw op dit forum, dus ik weet niet hoe het allemaal gaat.
In ieder geval heb ik de opdracht gekregen om uit te zoeken hoe je een rekenmachine in Javascript/HTML kunt programeren. Met de nodige tutorials was ik al aardig op weg, maar hij doet het nog niet helemaal perfect. Ik ben het een en ander vergeten, wat ik dus ook niet kan weten, wellicht heeft iemand van jullie even tijd om naar mijn code te kijken, hem misschien kloppend te maken of in ieder geval even wat aanwijzingen te geven.

Code:
<html>
<html>
<head>
<Title>Optelmachine voor Li-Do</Titel>
<script type="text/javascript">
<!--
function addition()
{
   
   //var x=ParseInt(document.getElementsByName("waarde1"));
   //var y=ParseInt(document.getElementsByName("waarde2"));
   var x=ParseInt(document.theForm.waarde1.value);
   var y=ParseInt(document.theForm.waarde2.value);   
   var z=x+y;
   document.theForm.uitkomst.value = z;

}
//-->
</script>
</head>


<body>
   
   <h1>Optelmachine in Javascript</h1>
   <FORM name="theForm">
   <input type="text"   name="waarde1"  value="1"><br><br>
   <input type="text"   name="waarde2"  value="2"><br><br>
   <input type="text"   name="uitkomst" value="Uitkomst!"><br><br>
   <input type="reset"  name="reset"    value="Leeg vegen" onclick="addition()">
   <input type="button" name="optellen" value="Tel op!" onclick='blabla()'><br><br>
   </FORM>

</body>
</html>

Je ziet hier dat ik zeg maar het veldje met een invoerveld, een invoerveld en een uitvoerveld heb. Door op de knop optellen te drukken, moeten zegmaar invoerveld1 en 2 optellen. x+y dus, (dacht ik).

Kan iemand even wat helpen?

Alvast bedankt!
Jim
 
rekenmachine

Onderstaande zou moeten werken.

succes!

--------------------------------------------------

<html>
<head>
<Title>Optelmachine voor Li-Do</Title>
<script>
<!--
function addition(){
var x=parseInt(document.theForm.waarde1.value);
var y=parseInt(document.theForm.waarde2.value);
if(y && x){
var z=x+y;
}
document.theForm.uitkomst.value = z;
}
//-->
</script>
</head>


<body>
<h1>Optelmachine in Javascript</h1>
<FORM name="theForm">
waarde 1: <input type="text" name="waarde1"><br><br>
waarde 2: <input type="text" name="waarde2"><br><br>
uitkomst: <input type="text" name="uitkomst"><br><br>
<input type="button" name="optellen" value="Tel op!" onClick="addition()">
<input type="reset" name="reset" value="Leeg vegen"><br><br>
</FORM>

</body>
</html>
 
helemaal top!
hij werkt, het enige probleem is: als ik bij een van de 2 getallen 0 in vul, krijg ik bij het uitkomstveld: undefined.

hoe kan ik dit oplossen?
:thumb:
 
Dat komt hierdoor
[js]if(y && x){
var z=x+y;
}[/js]
Dat controleert of y en x beide waar zijn (ingevuld zijn). Als een van de waarden '0' is, is dat gelijk aan onwaar en wordt z dus niet berekend.

Je zou het kunnen vervangen door
[js]if(!isNaN(y) && !isNaN(x)){
var z=x+y;
}[/js]
Al kan je er ook een if-structuur van maken die een verkeerde waarde automatisch vervangt door een '0' o.i.d.
 
Hij doet het. Super bedankt!

Opdracht 2 is een opdracht waarbij ik een radiobutton moet selecteren, waarbij de funcie van de 'Tel op!' knop (nu nog) veranderd in bijvoorbeeld een x*y of x/y en ook x-y.

Is er ieman die misschien een tutorial hiervoor heeft? of misschien een handige site? hierbij gaat het om het toekennen van de verandering die de knop 'Tel op!' krijgt. de radiobuttons zelf erin krijgen kan ik wel met HTML dus.

mvg,
jim
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan