You are not logged in.

  • Login

1

Thursday, November 26th 2009, 5:37pm

Euroumrechner mit Javascript??

Hi,

könnte mir jemand bei dieser Aufgabe helfen? Ich sitze schon seit 3 Std dran und habe einfach keine Ahnung wie ich das machen soll. Ich kenne mich mit Javascript noch nicht aus.

Euroumrechner: 2 Eingabefelder (DM und €) 2 Knöpfe, welche die Konvertierungsrichtung vorgibt. Bei Drücken einer der beiden Knöpfe soll der Wert des passenden Eingabefelds berechnet und dargestellt werden..

mfg emir

2

Thursday, November 26th 2009, 5:49pm

Wie weit bist du denn schon gekommen? Hast du schon irgendwas programmiert? Fertigen Code zum mitnehmen gibts hier nämlich nicht :-).
Hier mal ein Tipp zum Suchen für weitere Informationen:
Um auf den Inhalt der Textfelder zugreifen zu könenn, brauchst du DOM (Document Object Model).
Für den Klick auf einen Button benötigst du ein onclick event und am besten auch eine eigene Funktion, die bei diesem Event aufgerufen wird.
Für die Ausgabe würde ich dir ein <p> Element (HTML) empfehlen, welches einfach leer ist. Darauf kannst du schreibend mittels DOM, genauer gesagt mit innerHTML darauf zugreifen.

Wenn du dich informiert hast und dann noch nicht weiter kommst, dann stelle bitte konkrete Fragen.

3

Thursday, November 26th 2009, 8:59pm

Klar hab ich schon was gemacht...

<script >


function e2d(wert1)
{
var dm = (euro*1.95583)*100)/100;
return dm;
}
function d2e(wert2)
{
var euro = (euro*1.95583)*100)/100;
return euro;
}


</script>

<h1>Euroumrechner</h1>

<form>
<table border="0" cellpadding="5" cellspacing="4">

<tr>
<td> Euro </td>
<td>
<input name="wert1" type="text" size="10" maxlength="30">
</td>


<td>
<input type="button" value="Euro in DM" onclick="e2d()">
</td>

</tr>
<tr>
<td> DM </td>
<td>
<input name="wert2" type="text" size="10" maxlength="30">
</td>

<td>
<input type="button" value="DM in Euro" onclick="d2e()" >
</td>


</tr>
</table>
</form>

4

Thursday, November 26th 2009, 9:05pm

Ich will nur wissen was falsch ist...

Ich wüsste wie ich es in C machen würde, aber JavaScript ist mir noch schleierhaft^^

5

Thursday, November 26th 2009, 9:32pm

nur mal als Beispiel zum JavaScript Part:

HTML Code

1
<input type="button" value="DM in Euro" onclick="this.form.wert1.value = d2e(this.form.wert2.value)" >


Ansonsten verwendest du die Parameter gar nicht in deiner Funktion.

6

Thursday, November 26th 2009, 9:48pm

Wie kann ich einen Wert den man in die Textbox schreibt einer Variablen z.B. Wert1 zuordnen?

7

Thursday, November 26th 2009, 10:03pm

Du kannst wie erwähnt mittels DOM auf die Textfelder zugreifen.

JavaScript Code

1
wert1=document.getElementsByName("wert1")[0].value;

Damit bekämst du den Inhalt des Textfeldes mit dem Namen wert1.

8

Friday, November 27th 2009, 11:45am

Kann mir jemand sagen was hier noch Falsch ist.

<script type="text/javascript">


function e2d()
{
var wert1 = this.document.Rechner.wert1.value;
var Ergebnisdm = 0;
Ergebnisdm = (wert1*1.95583);
document.Rechner.wert1.value = Ergebnisdm;

}
function d2e()
{
var wert12 = this.document.Rechner.wert2.value;
var Ergebniseu = 0;
Ergebniseu = (wert2/1.95583);
document.Rechner.wert2.value = Ergebniseu;
}


</script>

<h1>Euroumrechner</h1>

<form name="Rechner" >
<table border="0" cellpadding="5" cellspacing="4">

<tr>
<td> Euro </td>
<td>
<input name="wert1" type="text" size="10" maxlength="30">
</td>


<td>
<input type="button" value="Euro in DM" onclick="e2e()
" >
</td>

</tr>
<tr>
<td> DM </td>
<td>
<input name="wert2" type="text" size="10" maxlength="30">
</td>

<td>
<input type="button" value="DM in Euro" onclick="d2e()" >
</td>


</tr>
</table>
</form>

9

Friday, November 27th 2009, 12:39pm

HTML Code

1
<input type="button" value="Euro in DM" onclick="e2e()">

muss zu

HTML Code

1
<input type="button" value="Euro in DM" onclick="e2d()">

und

Java Quellcode

1
var wert12 = this.document.Rechner.wert2.value;

zu

JavaScript Code

1
var wert2 = this.document.Rechner.wert2.value;

Dann funktioniert alles. Solche Fehler findest du übrigens sehr schnell mit Firebug

10

Friday, November 27th 2009, 2:53pm

Alles klar vielen Dank für die Hilfe.

11

Monday, November 30th 2009, 3:25pm

Hallo,

ich habe noch mal eine Frage. Wieso gibt mir Javascript bei der Addition am Ende (Ergebnis = wert4 + wert1) statt der Summe die erste Zahl neben der zweiten Zahl aus? Bsp: Statt 100+16 = 116 auszugeben, gibt es mir 10016 aus.

<script type="text/javascript">


function Kurs()
{
var wert1 = this.document.Rechner.wert1.value;
var wert2 = this.document.Rechner.wert2.value;
var Ergebnis = 0;
var wert4 = 0;
wert4 = ((wert1*wert2)/100);
Ergebnis = wert4 + wert1;
document.Rechner.wert3.value = Ergebnis;

}

</script>

<form name="Rechner" action="">
<table border="0" cellpadding="5" cellspacing="4">

<tr>
<td> Quellwährung: </td>
<td>
<input name="wert1" type="text" size="10" maxlength="10">
</td>

</tr>
<tr>
<td> Kurs: </td>
<td>
<input name="wert2" type="text" size="10" maxlength="10">
</td>

<tr></tr>
<td>Ergebnisfeld: </td>
<td> <input name="wert3" type="text" size="10" maxlength="10"> </td>


<td> <input type="button" value="Kursumrechnen" onclick="Kurs()" >
<input type="reset" value="Reset"></td>
</td>

</tr>

</tr>
</table>
</form>

12

Monday, November 30th 2009, 3:58pm

JS interpretiert wert4 und wert1 als Strings. Du musst sie mittels parseFlota() umwandeln:

JavaScript Code

1
2
3
4
5
6
7
8
9
10
11
function Kurs()
{
var wert1 = parseFloat(this.document.Rechner.wert1.value);
var wert2 = parseFloat(this.document.Rechner.wert2.value);
var Ergebnis = 0;
var wert4 = 0;
wert4 = ((wert1*wert2)/100);
Ergebnis = wert4 + wert1;
document.Rechner.wert3.value = Ergebnis;
 
}

13

Monday, November 30th 2009, 4:23pm

Hätte es auch geklappt wenn ich eine Komma zahl eingegeben hätte. Dann müsste er doch die Zahl als float erkenne oder

14

Monday, November 30th 2009, 4:26pm

Normalerweise nicht. So könnte doch auch ein String so lauten: "Ich habe heute 1,5t Äpfel verkauft". Ich glaube kaum, dass du die 1,5 extra in eine Variable vom Typ Float setzt. Und Value ist IMMER ein String.

15

Monday, November 30th 2009, 4:33pm

Mensch in C geht das^^

Wie schaffe ich es eigentlich etwas zu berechnen ohne eine Button zu benutzen. Und statt der zweiten Textbox eine Selektionsbox. Ich habe es mit onchange="this.form.submit() versucht aber das klappt nicht so wie ich es mir gedacht hatte. Muss ich den einzelnen Optionen in der Selectbox auch einen dieser Variablen Pfade geben um mit ihnen rechnen zu können? Oder soll ich statt onchange, onblur verwenden?

<script type="text/javascript">


function Kurs()
{
var wert1 = parseFloat(this.document.Rechner.wert1.value);
var wert2 = parseFloat(this.document.Rechner.wert1.steuersatz.value);
var Ergebnis = 0;
var wert4 = 0;
wert4 = ((wert1*wert2)/100);
Ergebnis = wert4 + wert1;
document.Rechner.wert3.value = Ergebnis;

}

</script>


</td>
<td>
<select name="steuersatz" size="1" onchange="this.form.submit();">
<option value="19">19%</option>
<option value="16">16% (alt)</option>
</select>
</td>
</tr>


<tr>
<td>Ergebnisfeld: </td>
<td> <input name="wert3" type="text" size="10" maxlength="10"> </td>
</tr>
</table>
</form>

This post has been edited 1 times, last edit by "ITzEmir" (Nov 30th 2009, 4:39pm)


16

Monday, November 30th 2009, 4:37pm

BTW: Kennst du eine gute Seite oder ein Buch auf der JavaScript für Anfänger erklärt wird?

17

Monday, November 30th 2009, 5:20pm

Also ich hab JS damals mit Professionelle Websites gelernt. Denke aber mal, dass man das JS Kapitel auch unabhängig von dem Rest lesen kann, wenn man schon HTML kann. Dort wird auch IMHO sehr gut DOM erklärt.
Auf der Seite findest du die 2. Auflage als Openbook.
Ansonsten könntest du auch mal im Literaturthread nachschauen.

18

Monday, November 30th 2009, 5:46pm

Ich werde es mir mal anschauen. Könntest du mir noch kurz bei meinem Code helfen?

19

Monday, November 30th 2009, 5:55pm

Sry, hab deinen Eintrag mit dem Problem völlig übersehen :) .
Nun zu deinem Problem:
Mit einem Eventhandler (hier onchange="...") führst du immer direkt JS-Code aus. So kannst du einfach deine Funktion Kurs() aufrufen:

HTML Code

1
<select name="steuersatz" size="1" onchange="Kurs()">

20

Monday, November 30th 2009, 6:14pm

Mensch ich bin immer so nahe dran^^ Vielen Dank !!!

Ich hoffe die Bücher werden helfen^^

Social bookmarks