Prośba o poprawienie skryptu

0

Witam. Stworzyłem ostatnio krótki skrypt w formularzu mający liczyć pole i obwód prostokąta,jednak napotkałem następujący problem:
Po wpisaniu liczb do pól "bok a " oraz "bok b" i naciśnięciu przycisku "oblicz" miejsce na wartości pola obwodu jak i pola prostokąta pozostają puste.
Jako iż jestem początkujący w Javascript prosiłbym o poprawę mojego skryptu aby mógł on działać poprawnie.
Zdjęcia sryptu w załączniku.

0

Wiesz, jak chcesz, żeby inni Ci pomogli, to pomóż też innym w walce z Twoim kodem - nie wklejaj zdjęć, tylko wrzuć kod bezpośrednio korzystając z markdown:

```javascript
Miejsce na Twój kod źródłowy
```

0
<input onclick="licz.(this.form)">

To na pewno ma tak wyglądać?

0
sugar_hiccup napisał(a):
<input onclick="licz.(this.form)">

To na pewno ma tak wyglądać?
this form czyli ma liczyć dla tego formularza (prawdopodobnie )tak jak mówiłem jestem początkujący w Javascript

0
superdurszlak napisał(a):

Wiesz, jak chcesz, żeby inni Ci pomogli, to pomóż też innym w walce z Twoim kodem - nie wklejaj zdjęć, tylko wrzuć kod bezpośrednio korzystając z markdown:

```javascript
Miejsce na Twój kod źródłowy
```

Jestem nowy na tym forum więc nie znam zbyt dobrze wszystkich jego opcji
Niemniej jednak na zdjęciu kod jest chyba w w miarę czytelny więc nie rozumiem w czym to ma przeszkadzać ?

0
Carmel napisał(a):
sugar_hiccup napisał(a):
<input onclick="licz.(this.form)">

To na pewno ma tak wyglądać?
this form czyli ma liczyć dla tego formularza (prawdopodobnie )tak jak mówiłem jestem początkujący w Javascript
faktycznie kropka to mój błąd jednak usunięcie jej nie zmienia sytuacji

1

Druga literówka to brak operatora między warunkami w ifie. Naprawdę, wrzuć to w formie tekstowej, bo nikomu się nie będzie chciało tego przepisywać. Poza tym debuguj to w przeglądarce. Masz takie narzędzie jak konsola. Tam ci się wyświetlą błędy.

0
  <script type="text/javascript">
	function licz(formularz)
	{
	if formularz.a.value==""formularz.b.value==" ")
	alert("wprowadz dane");
	else
	{
	a=formularz.a.value;
	b=formularz.b.value;
	formularz.p. value=a*b;
	formularz.o.value=2*a+2*b;
	 }
	 
	}
	</script>
	<form name="formualrz1">
	podaj  bok a: <input type="text" name="a"> <br> <br>
		podaj  bok b: <input type="text" name="b"> <br> <br>
		<input type="button" value="oblicz" Onclick="licz(this.form)"><br> <br>
wynik: <br><br>
pole prostokąta: <input type="text" name="p" > <br> <br>
obwod prostokąta: <input type="text" name="o">
</form>

</head>
<body>

<!-- tutaj wstaw tresc strony -->

</body>
</html>

1
<script type="text/javascript">
    function licz(formularz)
    {
      // tutaj trzy literówki poprawione
    if (formularz.a.value=="" && formularz.b.value=="")
    alert("wprowadz dane");
    else
    {
    a=formularz.a.value;
    b=formularz.b.value;
    formularz.p.value=a*b;
    formularz.o.value=2*a+2*b;
     }

    }
    </script>
    
    <form name="formularz1"> <!-- tutaj była literówka -->
    podaj  bok a: <input type="text" name="a"> <br> <br>
        podaj  bok b: <input type="text" name="b"> <br> <br>
        <input type="button" value="oblicz" onclick="licz(this.form)"><br> <br>
wynik: <br><br>
pole prostokąta: <input type="text" name="p" > <br> <br>
obwod prostokąta: <input type="text" name="o">
</form>

</head>
<body>

<!-- tutaj wstaw tresc strony -->

</body>
</html>

Proszę, śmiga. Naucz się trafiać w klawiaturę xD

Aha, i poza koszmarnym formatowaniem kodu, to wrzuć ten formularz do <body> (skrypty w sumie też zazwyczaj powinno się umieszczać na samym końcu w <body>, chociaż to już chyba zaszłość historyczna raczej, nie wiem, nie siedzę na froncie :P), zgodnie z tym komentarzem, co wygenerował ci ten pajączek. Jak będziesz ładnie formatował kod, robił wcięcia, itp., to przez zwiększoną w ten sposób czytelność, łatwiej ci będzie ogarnąć, gdzie masz błędy.

0

Dziękuję bardzo,działa.

1 użytkowników online, w tym zalogowanych: 0, gości: 1