19958
Goto Top

Eine einfache Division mit Javasript - Wer blickt das?

Hallo zusammen,

ich möchte gerne auf einer Webseite einen Rechner einbauen der mittels Javscript eine Zahl dividiert.

Die Besonderheit hierbei ist diejenige, dass der Rechner bei einem eingegeben Wert bis zu 10000 mit der
Zahl 10 dividieren soll, von 10000 bis zu 15000 mit der Zahl 15 und von 15000 bis zu 20000 mit der Zahl 20...


Ich habe schon ein Codeschnipsel das funktioniert und mit dem Faktor 10 dividiert:


<script type="text/javascript language="JavaScript"><!--
function compute() {
var divid = document.forms.divide.divident.value;
var divis = 10;
document.forms.divide.quotient.value = divid / divis;
}
//--></script>
[...]
<form name=divide action="javascript:compute();">
<input type=text name=divident size=5 maxlength=5>
<input type=text name=quotient size=5 maxlength=5>
<input type=submit value="Berechnen">
<input type=reset value=Reset>
</form>

Wer wäre bitte so hilfreich und ergänzt mir das Script zur gewünschten Funktionalität?

Vielen Dank und Grüsse

Chris

Content-Key: 52646

Url: https://administrator.de/contentid/52646

Printed on: April 20, 2024 at 15:04 o'clock

Member: wakko
wakko Feb 26, 2007 at 09:33:19 (UTC)
Goto Top
Moin,
mit ner hwile-Schleife sollte das so gehen:
function compute() {
var divid = document.forms.divide.divident.value;
var divis = 10;
var temp = divid;

 while (temp > 10000) {
   temp = temp -   5000;
   divis = divis + 5;
}
document.forms.divide.quotient.value = divid / divis;
}

Gruß,
Henrik
Mitglied: 19958
19958 Mar 07, 2007 at 09:16:03 (UTC)
Goto Top
Hallo,

nach einiger Zeit der Versuche wende ich mich nun doch wieder an euch..
Folgendes habe ich geschrieben:

<script type="text/javascript language="JavaScript">
function compute() {
var divid = document.forms.divide.divident.value;
var operator = document.forms.operator.value;
document.forms.divide.quotient.value = divid / operator;
}

</script>
<form name=divide action="javascript:compute();">
<input type=text name=divident size=5 maxlength=5>
<select name="operator">
<option value="10">10 % </option>
<option value="15">15 % </option>
<option value="20">20 % </option>
</select>
<input type=text name=quotient size=6 maxlength=6>
<input type=submit value="Berechnen">
<input type=reset value=Reset>
</form>

Ich frage mich wo der Fehler liegt.. es geht einfach nicht face-sad
Es sollte so sein dass der User den Operator auswählt un das Programm dann den
Divident durch den operator dividiert... Hab ich einen Denkfehler oder warum geht das nicht?

Wäre sehr nett wenn Ihr mir weiterhelfen würdet.

Gruesse

Chris
Member: Tolwyn
Tolwyn Mar 07, 2007 at 20:32:45 (UTC)
Goto Top
Hallo

eigentlich hast du nur einen Fehler gemacht:


du musst anstatt

var operator = document.forms.operator.value;

das hier schreiben:

var operator = document.forms.operator.value;

wenn du nur deine Version schreibst, weiß JS nicht auf welches Formular du dich beziehst.

Also kannst du es entweder mit dem Index angeben oder du benutzst den Namen:

var operator = document.divide.operator.value;

Hier nochmal komplett:

<script type="text/javascript language="JavaScript">  
function compute() {
var divid = document.forms.divide.divident.value;
var operator = document.divide.operator.value;
document.forms.divide.quotient.value = divid / operator;
}

</script>

Übrigens brauchst du nur entweder den Namen oder den Index zu schreiben:

document.forms.divide.element.value ist doppelt gemoppelt

Gruß

Tolwyn