ptr_lksMedlem sedan juni 2005584 inlägg 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"> bit 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"> points
</tr>
</table>
</form>
</body>
</html>
Tack för ordet
/ptr
PalleMedlem sedan apr. 20003 174 inlägg 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"> bit Lax sushi</td>
<td><input name="laxknp" type="button" onClick= "fCalculate();" value="ger"></td>
<td><input name="laxpts" type="text" size="5"> points
</tr>
</table>
</form>
</body>
</html>
ptr_lksMedlem sedan juni 2005584 inlägg
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"> bit Lax sushi</td>
<td><input name="laxknp" type="button" onClick= "fCalculate();" value="ger"></td>
<td><input name="laxpts" type="text" size="5"> 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?
PalleMedlem sedan apr. 20003 174 inlägg 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.
ptr_lksMedlem sedan juni 2005584 inlägg
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..
ptr_lksMedlem sedan juni 2005584 inlägg hur fick du fram detta?
och hur många paranteser bör det vara?
tack för ordet
/ptr
PalleMedlem sedan apr. 20003 174 inlägg 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..
PalleMedlem sedan apr. 20003 174 inlägg 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)))
@ndersMedlem sedan juni 200032 969 inlägg 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
ptr_lksMedlem sedan juni 2005584 inlägg
@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))"
PalleMedlem sedan apr. 20003 174 inlägg onClick="this.form.laxpts.value=(this.form.lax.value*(lkal+lfett));"
ptr_lksMedlem sedan juni 2005584 inlägg
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..
PalleMedlem sedan apr. 20003 174 inlägg ..rad 1 i ditt JavaScript.
f sätts aldrig varpå resten av scriptet slutar att fungera.
Testa min senaste variant. :)
ptr_lksMedlem sedan juni 2005584 inlägg
Palle skrev:
onClick="this.form.laxpts.value=(this.form.lax.value*(lkal+lfett));"
tack Palle, men 2 nya saker som jag itne fattar:
- 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
ptr_lksMedlem sedan juni 2005584 inlägg dvs för att förtydliga:
varför funkar det ena (fungerande_ex) och inte den andra (ej_fungerande_ex)
PalleMedlem sedan apr. 20003 174 inlägg 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å.
PalleMedlem sedan apr. 20003 174 inlägg 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.
PalleMedlem sedan apr. 20003 174 inlägg 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.