---
title: "inget händer vid knapptryckning"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/141190-inget-händer-vid-knapptryckning"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "ptr_lks"
published: "2006-01-20T08:31:15.000Z"
updated: "2006-01-22T16:47:12.000Z"
replies: 39
views: 1161
page: 1
pages: 2
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/javascript/141190-inget-händer-vid-knapptryckning"
---

# inget händer vid knapptryckning

_Sida 1 av 2._

## #1 — ptr_lks, 2006-01-20T08:31Z

Hej,
undrar vilket fel jag gjort vid kodning nu då  :q   :q , eftersom inget händer

```
<head>
<title>Sushi</title>
<script language="javascript">
var f = document.sushi;
var lkal = ((132.2*46)/100);
var lfett = ((4,83*46)/100);
</script>
</head>

<body>
<h2><strong>Omvandla Sushi bitar till points</strong></h2>
<form id="form1" name="sushi" method="post" action="">
<table width="331" border="0">
  <tr>
    <td><input name="lax" type="text" size="5">&nbsp;bit&nbsp;Lax sushi</td>
    <td><input name="laxknp" type="button" onClick= "f.laxpts.value =((f.lax.value*(lkal + lfett))" value="ger"></td>
	<td><input name="laxpts" type="text" size="5">&nbsp;points
  </tr>
</table>

</form>
</body>
</html>
```

Tack för ordet
/ptr

Permalänk: https://www.webforum.nu/p/141190

## #2 — Palle, 2006-01-20T08:38Z

Du har missat lite tecken lite här och var. :)
Testa att göra det till en funktion istället, ex:

```
<html>
<head>

	<title>Sushi</title>
	<script type="text/javascript">
	function fCalculate()
	{
		var f = document.getElementById("sushi");
		var lkal = ((132.2*46)/100);
		var lfett = ((4,83*46)/100);
		f.laxpts.value =((f.lax.value*(lkal + lfett)))
	}
	</script>

</head>
<body>

<h2><strong>Omvandla Sushi bitar till points</strong></h2>
<form id="sushi" name="sushi" method="post" action="">
<table width="331" border="0">
  <tr>
    <td><input name="lax" type="text" size="5">&nbsp;bit&nbsp;Lax sushi</td>
    <td><input name="laxknp" type="button" onClick= "fCalculate();" value="ger"></td>
	<td><input name="laxpts" type="text" size="5">&nbsp;points
  </tr>
</table>

</form>
</body>
</html>
```

Permalänk: https://www.webforum.nu/p/1751805

## #3 — ptr_lks, 2006-01-20T08:44Z

> **Palle skrev:**
>
> Du har missat lite tecken lite här och var. :)
> Testa att göra det till en funktion istället, ex:
> 
>
>
> ```
> <html>
> <head>
> 
> 	<title>Sushi</title>
> 	<script type="text/javascript">
> 	function fCalculate()
> 	{
> 		var f = document.getElementById("sushi");
> 		var lkal = ((132.2*46)/100);
> 		var lfett = ((4,83*46)/100);
> 		f.laxpts.value =((f.lax.value*(lkal + lfett)))
> 	}
> 	</script>
> 
> </head>
> <body>
> 
> <h2><strong>Omvandla Sushi bitar till points</strong></h2>
> <form id="sushi" name="sushi" method="post" action="">
> <table width="331" border="0">
>   <tr>
>     <td><input name="lax" type="text" size="5">&nbsp;bit&nbsp;Lax sushi</td>
>     <td><input name="laxknp" type="button" onClick= "fCalculate();" value="ger"></td>
> 	<td><input name="laxpts" type="text" size="5">&nbsp;points
>   </tr>
> </table>
> 
> </form>
> </body>
> </html>
> ```

tack för det, men det kommer komma flera beräkningar, skall jag då göra en funktion för alla?
Och villka andra missar har jag gjort?

Permalänk: https://www.webforum.nu/p/1751809

## #4 — Palle, 2006-01-20T08:50Z

Ska alla ligga i samma formulär eller är det olika?

> **ptr_lks skrev:**
>
> Och villka andra missar har jag gjort?

Du borde få ett JS-fel på sidan, b.la då du missat en ) i onclick-eventet på knappen.

Permalänk: https://www.webforum.nu/p/1751819

## #5 — ptr_lks, 2006-01-20T09:02Z

> **Palle skrev:**
>
> Ska alla ligga i samma formulär eller är det olika?
> 
> 
> Du borde få ett JS-fel på sidan, b.la då du missat en ) i onclick-eventet på knappen.

det är det lustiga, att jag itne får ngt fel mess..

Permalänk: https://www.webforum.nu/p/1751829

## #6 — Palle, 2006-01-20T09:11Z

> **ptr_lks skrev:**
>
> det är det lustiga, att jag itne får ngt fel mess..

Jag får: 

> **Error Console skrev:**
>
> Error: missing ) in parenthetical
> Source code:
> f.laxpts.value =((f.lax.value\*(lkal + lfett))

Permalänk: https://www.webforum.nu/p/1751835

## #7 — ptr_lks, 2006-01-20T09:15Z

hur fick du fram detta?
och hur många paranteser bör det vara?

tack för ordet
/ptr

Permalänk: https://www.webforum.nu/p/1751837

## #8 — Palle, 2006-01-20T09:18Z

Jag använder Firefox. ;)
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Gecko/20051111 Firefox/1.5

Den har mycket bättre *Error-handling* än IE och man kan enkelt se vad som är fel i ex. Javascriptet..

Permalänk: https://www.webforum.nu/p/1751839

## #9 — Palle, 2006-01-20T09:19Z

Det ska vara lika många *omvända* parenteser. ;)

Är det 3 st ( så ska det vara 3 st ) också, ex. 

```
f.laxpts.value =((f.lax.value*(lkal + lfett)))
```

Permalänk: https://www.webforum.nu/p/1751841

## #10 — @nders, 2006-01-20T09:23Z

Men man *måste* ju inte slänga in en massa onödiga parenteser.
Har de yttersta parenteserna något syfte?

Slänger man in en massa onödiga parenteser och dylikt överallt är det klart att man får problem när man gör koden svårläst och otydlig.

mvh

Permalänk: https://www.webforum.nu/p/1751843

## #11 — ptr_lks, 2006-01-20T09:28Z

> **@nders skrev:**
>
> Men man *måste* ju inte slänga in en massa onödiga parenteser.
> Har de yttersta parenteserna något syfte?
> 
> Slänger man in en massa onödiga parenteser och dylikt överallt är det klart att man får problem när man gör koden svårläst och otydlig.
> 
> mvh

får varken att funka med:

```
onClick= "f.laxpts.value = f.lax.value*(lkal + lfett)"
```

 eller

```
onClick= "f.laxpts.value = (f.lax.value*(lkal + lfett))"
```

Permalänk: https://www.webforum.nu/p/1751846

## #12 — Palle, 2006-01-20T09:36Z

```
 onClick="this.form.laxpts.value=(this.form.lax.value*(lkal+lfett));"
```

Permalänk: https://www.webforum.nu/p/1751848

## #13 — ptr_lks, 2006-01-20T09:37Z

> **Palle skrev:**
>
> Jag använder Firefox. ;)
> Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Gecko/20051111 Firefox/1.5
> 
> Den har mycket bättre *Error-handling* än IE och man kan enkelt se vad som är fel i ex. Javascriptet..

Om jag kör FF får jag

> f has no properties line 1

rad 1 har jag head taggen..

Permalänk: https://www.webforum.nu/p/1751849

## #14 — Palle, 2006-01-20T09:41Z

..rad 1 i ditt JavaScript.

*f* sätts aldrig varpå resten av scriptet slutar att fungera.
Testa min senaste variant. :)

Permalänk: https://www.webforum.nu/p/1751851

## #15 — ptr_lks, 2006-01-20T09:43Z

> **Palle skrev:**
>
> ```
>  onClick="this.form.laxpts.value=(this.form.lax.value*(lkal+lfett));"
> ```

tack Palle, men 2 nya saker som jag itne fattar:
1) när skall jag använda 

> this.form

 och när använda 

> f = document.formnanmn

Jag menar jag har ett exempel som funkar med en annan konstruktion - se bifigad
2)skall onClick alltid avslutas med ; innan situationstecknet?

Tack för ordet
/ptr

Bilagor:

- [fungerande_ex.txt](https://www.webforum.nu/a/9337.txt)

Permalänk: https://www.webforum.nu/p/1751852

## #16 — ptr_lks, 2006-01-20T09:54Z

dvs för att förtydliga:
varför funkar det ena (fungerande_ex) och inte den andra (ej_fungerande_ex)

Bilagor:

- [ej_fungerande_ex.txt](https://www.webforum.nu/a/9338.txt)

Permalänk: https://www.webforum.nu/p/1751854

## #17 — Palle, 2006-01-20T09:54Z

1\. this.form kan du använda innuti ett formulär för att tala om att det är just detta formulär, och elementen i formuläret, som gäller som referens i anropet.

2\. Nja, igentligen Ja. Men det är inget blodigt tvång. ;) Men mig veteligen så är det korrekt syntax att göra så.

Permalänk: https://www.webforum.nu/p/1751855

## #18 — Palle, 2006-01-20T09:59Z

Anledningen till att *ej_fungerande_ex* inte fungerar är att du sätter referensen (var f = document.sushi;) innan elementet du refererar till (document.sushi) har skrivits ut till klienten.

För att du skall kunna använda detta måste du antingen lägga koden som sätter referensen i en funktion, eller lägga den efter det att elementet skrivts till klienten.

Permalänk: https://www.webforum.nu/p/1751858

## #19 — ptr_lks, 2006-01-20T10:04Z

> **Palle skrev:**
>
> Anledningen till att *ej_fungerande_ex* inte fungerar är att du sätter referensen (var f = document.sushi;) innan elementet du refererar till (document.sushi) har skrivits ut till klienten.
> 
> För att du skall kunna använda detta måste du antingen lägga koden som sätter referensen i en funktion, eller lägga den efter det att elementet skrivts till klienten.

Tack Palle, men:

1. finns det fördelar med detta?
2. vilken av varienterna är enklast och mest basic? Kursen jag går har vi blivit uppmanade att skriva så enkla  och basic code som möjligt

Permalänk: https://www.webforum.nu/p/1751859

## #20 — Palle, 2006-01-20T11:14Z

1\. Visst gör det det, du slipper ex. att i funktionen fördefinera vilket formulär anropet ska gälla, och kan på så sätt lätt återanvända samma funktion för flera olika formulär.

2\. Då jag personligen föredrar att flytta ut koden ur presentationslagret, och samlar alla dessa i en separat JS-fil, så anser jag att en bra skriven funktion är att föredra framför script och funktioner direkt i presentationslagret.

Permalänk: https://www.webforum.nu/p/1751895

---

Tråden på webben: https://www.webforum.nu/amne/javascript/141190-inget-händer-vid-knapptryckning  
Nästa sida: https://www.webforum.nu/amne/javascript/141190-inget-händer-vid-knapptryckning/page2.md
