Just nu i M3-nätverket
Gå till innehåll

Beräkna flera fält med ett knapptryck...


lelkesp

Rekommendera Poster

... går detta att genomföra utan funktioner? Och i såfall hur?

 

Hej,

jag har 14 fält som jag vill skall räknas fram genom EN knapptryckning.

nedan följer 4 exempel:

this.form.b.value=(this.form.w.value*15)
this.form.v.value=(this.form.b.value/50)
this.form.s.value=((this.form.b.value/25)-this.form.s.value)
his.form.h3.value=((this.form.b,value/this.form.v.value)*6000)

/[blue]Jag har googlat och sökt, men intet funnit :stud

Stort tack för hjälpen :birp [/blue]

//Peter

 

Länk till kommentar
Dela på andra webbplatser

Vad menar du "utan funktioner"? Det blir ju så mycket mer överskådligt om du slänger in alla beräkningar i en funktion och bara kallar på den från onclick. Men visst kan du slänga in alla dessa inline. Då är det bara att separera varje beräkning med semikolon (;)

 

Länk till kommentar
Dela på andra webbplatser

Jag kan tyvärr inte ha funktioner, eftersom jag tänker konvertera till ebok/Mobipocket.

 

Mobipocket stöder inte funktioner enligt http://www.mobipocket.com/dev/article.asp?BaseFolder=prcgen&File=javascript.htm

 

Menar du att jag kan skriva som nedan?

onClick="this.form.b.value=(this.form.w.value*15);this.form.v.value=(this.form.b.value/50);this.form.s.value=((this.form.b.value/25)-this.form.s.value);this.form.h3.value=((this.form.b,value/this.form.v.value)*6000)”

 

Jag har googlat och sökt, men intet funnit

Stort tack för hjälpen :thumbsup:

//Peter

 

 

 

[inlägget ändrat 2006-09-14 11:07:17 av lelkesp]

Länk till kommentar
Dela på andra webbplatser

Menar du att jag kan skriva som nedan?

Ja, åtminstone för "stationära" webbläsare. Dock bör du använda ett standardiserat sätt att skapa referenser till element, antingen med getElementById eller getElementsByName

 

Länk till kommentar
Dela på andra webbplatser

Med koden:

<input name="y" type="button" onClick="this.form.b.value=(this.form.w.value*15);this.form.v.value=(this.form.b.value/50);this.form.s.value=((this.form.b.value/25)-this.form.s.value);this.form.m1.value=(this.form.b,value/50);this.form.h1.value=((this.form.b,value/this.form.v.value)*3000);
this.form.m2.value=(this.form.b,value/75);this.form.h1.value=((this.form.b,value/this.form.v.value)*4500);this.form.m3.value=(this.form.b,value/100);
this.form.h3.value=((this.form.b,value/this.form.v.value)*6000);this.form.m4.value=(this.form.b,value/150);
this.form.h1.value=((this.form.b,value/this.form.v.value)*9000)
" value="Beräkna">

får jag

NaN
när det gäller följande rader:
onClick="this.form.m2.value=(this.form.b,value/75);this.form.h1.value=((this.form.b,value/this.form.v.value)*4500);this.form.m3.value=(this.form.b,value/100);
this.form.h3.value=((this.form.b,value/this.form.v.value)*6000);this.form.m4.value=(this.form.b,value/150);
this.form.h1.value=((this.form.b,value/this.form.v.value)*9000)
"

 

Länk till kommentar
Dela på andra webbplatser

Du måste göra om värdet ifrån sträng-typ till tal-typ med parseInt().

Det är strängvärde du hämtar ifrån t ex this.form.w.value .

 

Länk till kommentar
Dela på andra webbplatser

tack..

men skulle du ha ork och lust att visa hur jag skall förfara?

Men varför funkar ngra av fälten?

<head>
<title>Pro-Epanutin</title>
<script type="text/javascript">

</script>
</head>
<body>

<form action="" method="get" name="proepanutin">
 vikt: 
<input name="w" type="text" size="7">
  kg<br>
<input name="y" type="button" onClick="this.form.b.value=(this.form.w.value*15);this.form.v.value=(this.form.b.value/50);this.form.s.value=((this.form.b.value/25) - this.form.s.value);this.form.m1.value=
(this.form.b,value/50);this.form.h1.value=((this.form.b,value/this.form.v.value)*3000);
this.form.m2.value=(this.form.b,value/75);this.form.m2.value=((this.form.b,value/this.form.v.value)*4500);this.form.m3.value=(this.form.b,value/100);this.form.h3.value=
((this.form.b,value/this.form.v.value)*6000);this.form.m4.value=(this.form.b,value/150);this.form.h4.value=((this.form.b,value/this.form.v.value)*9000);
" value="Beräkna"><br>
<br>
 Bolusdos: 
<input name="b" type="text" size="7">
  mg Fe <br>
 volym Pro-Epanutin: 
<input name="v" type="text" size="7">
  ml<br>
 spädes med : 
<input name="s" type="text" size="7">
  ml NaCl eller Glukos <br>
<br><table width="205" border="1">
 <tr>
   <th width="68" scope="col"><p>mg</p>
     <p>FE/min</p></th>
   <th width="54" scope="col">min</th>
   <th width="61" scope="col">ml/h</th>
 </tr>
 <tr>
   <td><div align="center">50</div></td>
   <td><input name="m1" type="text" size="10">
   </td>
   <td><input name="h1" type="text" size="10"></td>
 </tr>
 <tr>
   <td><div align="center">75</div></td>
   <td><input name="m2" type="text" size="10"></td>
   <td><input name="h2" type="text" size="10"></td>
 </tr>
 <tr>
   <td><div align="center">100</div></td>
   <td><input name="m3" type="text" size="10"></td>
   <td><input name="h3" type="text" size="10"></td>
 </tr>
 <tr>
   <td><div align="center">150</div></td>
   <td><input name="m4" type="text" size="10"></td>
   <td><input name="h4" type="text" size="10"></td>
 </tr>
</table>

     <input name="reset" type="reset" value="C">

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

[inlägget ändrat 2006-09-14 12:39:40 av lelkesp]

Länk till kommentar
Dela på andra webbplatser

Jag som var lite snabb i svaret men antagligen är det inte ett talvärde utan ett strängvärde i något fält som du vill använda i beräkningen.

 

Det går att göra uträkningar utan att omvandla värdet med parseInt() men om man nu vet med sig att det alltid ska vara i talform så gör om det till ett tal med parseInt().

 

Förresten kan jag ju också nämna att NaN står för "not a number".

 

Sen har det "smygit" sig in ett , istället för . på vissa platser.

this.form.b,value

 

Ett exempel med parseInt():

this.form.b.value=(parseInt(this.form.w.value)*15);

[inlägget ändrat 2006-09-14 13:06:47 av Micke_skane]

Länk till kommentar
Dela på andra webbplatser

Misstaget som gjorts är att du bytt ut punkter mot kommatecken på en massa platser, ex. i this.form.b,value

Skall naturligtvis vara this.form.b.value

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...