Obliczenia? Jak?

HTML to podstawy w dziedzinie tworzenia stron WWW, Style CSS warto opanować, bowiem za ich pomocą można dostosować odpowiednio wygląd swojej witryny WWW. Zagłębiamy się dalej i udostępniamy w tym forum możliwość zadawania pytań o JavaScript.
ODPOWIEDZ
Pev4
Posty: 2
Rejestracja: sob sty 15, 2005 9:53 pm

Obliczenia? Jak?

Post autor: Pev4 »

Witam,

Chciałbym się dowiedzieć za pomocą jakiego języka i w jaki sposób utworzyć stronkę, która miałaby za zadanie obliczanie prostych rzeczy, tak jak np.: objętość prostopadłościanu, pole trójkąta itp. (do każdego osobną oczywiście)

Wyglądałoby to mniej więcej tak (dla objętości prostopadłościanu):

Podaj a: ... [cm]
Podaj b: ... [cm]
Podaj c: ... [cm]

(przycisk) [oblicz]

Wynik: ... [cm3]

Proszę o pomoc.

Z góry dziękuję za odpowiedź.
Pozdrawiam.
mw
Nowy
Nowy
Posty: 29
Rejestracja: ndz kwie 25, 2004 7:50 pm
Lokalizacja: Szczecin

Re: Obliczenia? Jak?

Post autor: mw »

Możesz skorzystać z języka Java Script

Poniżej masz gotowy kod strony w html+JavaScript:


[xml]<html>
<head>
<script language="JavaScript">
function obliczaj() {

a = document.formularz.zmienna1.value;
b = document.formularz.zmienna2.value;
c = document.formularz.zmienna3.value;
var obliczanie = 'Wynik: <b>';
obliczanie = obliczanie += a*b*c;
obliczanie = obliczanie += '</b> [cm<sup>3</sup>]';
document.getElementById("wynik").innerHTML=obliczanie;
}
</script>
</head>
<body>

<h1>Obliczanie objętości prostopadłościanu</h1>
<p>Podaj dane:</p>

<form name="formularz">
Podaj <b>a</b>: <input name="zmienna1" type=text value="0">[cm]<br>
Podaj <b>b</b>: <input name="zmienna2" type=text value="0">[cm]<br>
Podaj <b>c</b>: <input name="zmienna3" type=text value="0">[cm]<br>
<input name="oblicz_wynik" type="button" value="oblicz" onClick="obliczaj()">
</form>
<div id="wynik">Wynik:</div>


</body></html>[/xml]
Oczywiście to jest prosta wersja skryptu bez na przykład zabezpieczenia formularza przed wpisywaniem innych znaków niż cyfr - ale to już możesz zmienić później i odpowiednio dopasować kod.
pzdr.
rraaddzziioo
Nowy
Nowy
Posty: 22
Rejestracja: wt wrz 07, 2004 12:19 pm
Lokalizacja: Radom(W-wa)
Kontakt:

Re: Obliczenia? Jak?

Post autor: rraaddzziioo »

mozna rowniez zrobic to we flashu za pomoca action sciptu... bardzo podobnie jak z java scriptem w koncu te jezyki maja duzo wspolnego :D
Pev4
Posty: 2
Rejestracja: sob sty 15, 2005 9:53 pm

Re: Obliczenia? Jak?

Post autor: Pev4 »

Sto razy dzieki! Z flasha niestety nie skożystam (nie jest to moja specjalność).
A za kod źródłowy serdecznie dziękuję!

ale....

skrypt nie interpretuje przecinków, jeśli chce napisać bok 4,5cm to nie wychodzi... mógłby ktoś pomóc? nie znam się zbyt dobrze na java script.

pozdrawiam
mw
Nowy
Nowy
Posty: 29
Rejestracja: ndz kwie 25, 2004 7:50 pm
Lokalizacja: Szczecin

Re: Obliczenia? Jak?

Post autor: mw »

Zamiast przecinka użyj kropki (4.55 itp) - taki jest standard na zachodzie - wtedy skrypt zadziała.

pzdr.
yarpo
Nowy
Nowy
Posty: 168
Rejestracja: wt lut 08, 2005 6:29 pm
Lokalizacja: Gdańsk
Kontakt:

Re: Obliczenia? Jak?

Post autor: yarpo »

A żeby wyeliminować możliwośc podawania liter lub przecinków prosta funkcja:

[xml]
<html>
<head>
<script>

function usunPrzecinek(nr) {
var a = document.formularz.elements[nr].value;
var b = "";
for (i=0; i<a.length; i++) {
switch (a.charAt(i)) {
case ',' : b += ".";break;
case '.' : b += a.charAt(i);break;
case '0' : b += a.charAt(i);break;
case '1' : b += a.charAt(i);break;
case '2' : b += a.charAt(i);break;
case '3' : b += a.charAt(i);break;
case '4' : b += a.charAt(i);break;
case '5' : b += a.charAt(i);break;
case '6' : b += a.charAt(i);break;
case '7' : b += a.charAt(i);break;
case '8' : b += a.charAt(i);break;
case '9' : b += a.charAt(i);break;
default : b += '';break;
}
}
document.formularz.elements[nr].value = b;
}


function obliczaj() {

a = document.formularz.zmienna1.value;
b = document.formularz.zmienna2.value;
c = document.formularz.zmienna3.value;

document.formularz.wynik.value = a*b*c;
}

</script>
</head>
<body>

<h1>Obliczanie objętości prostopadłościanu</h1>
<p>Podaj dane:</p>

<form name="formularz">
Podaj <b>a</b>:
<input name="zmienna1" type=text value="0" OnKeyUp="usunPrzecinek(0);">[cm]<br>
Podaj <b>b</b>:
<input name="zmienna2" type=text value="0" OnKeyUp="usunPrzecinek(1);">[cm]<br>
Podaj <b>c</b>:
<input name="zmienna3" type=text value="0" OnKeyUp="usunPrzecinek(2);">[cm]<br>

<input name="oblicz_wynik" type="button" value="oblicz" onClick="obliczaj()"><br />
V=<input name="wynik" type="text">cm<sup>3</sup>
</form>
</body>
</html>
[/xml]

Oprócz dodania funkcji zmieniłem kilka szczegółów, ponieważ u mnie wcześniejsza wersja skryptu nie działała:-([/xml]
ODPOWIEDZ