Mam problem odnoście dodania do moich funkcji walidacji, która będzie sprawdzała czy w polu input pojawiła się litera lub pusty znak, w tym celu stworzyłem nową funkcję Sprawdź_ponownie, jednak nie wiem jak ją połączyć z moimi funkcjami obliczającymi i wypisującymi pole, obwód i objętość :/
Kod:
<!DOCTYPE html>
<html lang="pl">
<head>
<meta charset="utf-8" />
</head>
<body style="background: #f8f3e6;">
<h2> Obliczanie pola, obwodu i objętości prostopadłościanu</h2>
<form name="przeliczanie">
<img src="prostopadloscian.gif" alt="prostopadłościan" />
<br />
Podaj a: <input type="text" name="a" /><br />
Podaj b: <input type="text" name="b" /><br />
Podaj H: <input type="text" name="H" /><br />
<br />
Oblicz: <br />
<button id="obw"> OBWÓD </button> <button id="pole"> POLE </button> <button id="obj"> OBJĘTOŚC </button>
</form>
<div id="wynik"></div>
<script type="text/javascript">
var a = document.przeliczanie.a;
var b = document.przeliczanie.b;
var H = document.przeliczanie.H;
var o = document.getElementById("obw");
var p = document.getElementById("pole");
var v = document.getElementById("obj");
function obwod(x, y, z) {
var obw;
var d = Number(x.value);
var f = Number(y.value);
var e = Number(z.value);
return obw = 4 * d + 4 * f + 4 * e;
}
function pole(x, y, z) {
var pole;
var d = Number(x.value);
var f = Number(y.value);
var e = Number(z.value);
return pole = 2 * d * f + 2 * f * e + 2 * d * e;
}
function obj(x, y, z) {
var obj;
var d = Number(x.value);
var f = Number(y.value);
var e = Number(z.value);
return obj = d * e * f;
}
function licz_obwod() {
{
document.getElementById("wynik").innerHTML = "<br>Obwód prostopadłościanu jest równy: " + obwod(a,b,H);
return false;
}
function licz_pole() {
{
document.getElementById("wynik").innerHTML = "<br>Pole prostopadłościanu jest równe: " + pole(a, b, H);
return false;
}
function licz_objetosc() {
{
document.getElementById("wynik").innerHTML = "<br>Objętość prostopadłościanu jest równa: " + obj(a, b, H);
return false;
}
function Sprawdz_ponownie() {
if (isNaN(a.value) || isNaN(b.value) || isNaN(H.value)) {
alert("Wprowadź daną liczbową!");
return false;
}
else if (a.value < 0 || b.value < 0 || H.value < 0) {
alert("Podana przez Ciebie liczba jest mniejsza od zera! Podaj większą wartość!");
return false;
}
else if (a.value == 0 || b.value == 0 || H.value == 0) {
alert("Zanim obliczysz, uzupełnij wszystkie pola!");
return false;
}
else {
sprawdzenie = true;
return false;
};
}
o.onclick = licz_obwod;
p.onclick = licz_pole;
v.onclick = licz_objetosc;
a.onblur = Sprawdz_ponownie;
b.onblur = Sprawdz_ponownie;
H.onblur = Sprawdz_ponownie;
</script>
</body>
</html>