Avatar billede tast Nybegynder
20. maj 2007 - 21:37 Der er 13 kommentarer og
1 løsning

Alert og tekst og udregning i javascript

Jeg har lige fået svar på et spørgsmål,- men nu afføder det dåulme eet nyt......

Dette var løsningen som jeg fik:
<input type="button" value="Udregn" onclick="alert(+document.getElementById('højde1').value+ +document.getElementById('antal1').value);">

Mit problem er at jeg har flere udregninger som den skal klare, samt noget forklarende tekst.
Her er en beskrivelse af hvad den skal skrive & udregne i alert boksen:
Den samlet værdi er: (højde1*antal1)+(højde2*antal2)+(højde3*antal3) Cm

Jeg har prøvet mig lidt frem og er kommet til:
<input type="button" value="Mellemregning" onclick="alert(+document.getElementById('højde1').value *document.getElementById('antal1').value+ +document.getElementById('højde2').value *document.getElementById('antal2').value+ +document.getElementById('højde3').value *document.getElementById('antal3').value);">

Mit problem er at så snart jeg smider teksten: 'Den samlet værdi er:' & 'Cm' Så går den helt bag om dansen og skriver udregningern forkert.

Hvad gør jeg forkert?
Avatar billede w13 Novice
20. maj 2007 - 21:41 #1
Bare ret fra:
alert(+document.getElementById('højde1').value+ +document.getElementById('antal1').value);
Til:
alert('Den samlede værdi er: ' + (document.getElementById('højde1').value * document.getElementById('antal1').value)+(document.getElementById('højde2').value * document.getElementById('antal2').value)+(document.getElementById('højde3').value + document.getElementById('antal3').value));
:)
Avatar billede michael_stim Ekspert
20. maj 2007 - 21:42 #2
Kan det have noget at gøre med at du skal gøre stringen numerisk?
*+document.getElementById('antal1').value

Altså +-tegnet.
Avatar billede 0xffff Nybegynder
20. maj 2007 - 21:44 #3
For det første så lav da en funktion istedet for at lave det hele i input. Det gør det hele mere overskueligt.

<input type="button" value="Mellemregning" onclick="udregn()">

function udregn
{
var height;
height += document.getElementByID('højde1'.value;
height += document.getElementByID('højde1'.value;
.
.
.
alert(height);
}
Avatar billede w13 Novice
20. maj 2007 - 21:53 #4
Som funktion: =)
---------------------------------------
<script language="JavaScript" type="text/JavaScript">
function Udregn() {
  Udregn = (document.getElementById('højde1').value * document.getElementById('antal1').value);
  Udregn = Udregn+(document.getElementById('højde2').value * document.getElementById('antal2').value);
  Udregn = Udregn+(document.getElementById('højde3').value + document.getElementById('antal3').value);
  alert('Den samlede værdi er: ' + Udregn);
}
</script>

<input type="button" value="Udregn" onclick="Udregn();">
Avatar billede tast Nybegynder
20. maj 2007 - 22:04 #5
W13 - Jeg har prøvet begge dine udgaver og den opfører sig en anelse skørt!!

Når jeg bruger det oprindelige som jeg har posted så giver den det rigtige resultat(så længe jeg ikke indfører 'tekst')
Jeg har nogle test værdier:
199x1+90x3+75x1=544
Det er sådn jeg får den.

Når jeg bruger din så siger den: 469751

Ved du hvad der kan være galt?
Avatar billede w13 Novice
20. maj 2007 - 22:07 #6
Den skriver vel teksten inden, gør den ikke?
Avatar billede w13 Novice
20. maj 2007 - 22:10 #7
Jo, den gjorde.. Jeg havde sat den til at plusse højde3 med antal3, og det kunne den ikke klare åbenbart..

<script language="JavaScript" type="text/JavaScript">
function Udregn() {
  Udregn = (document.getElementById('højde1').value * document.getElementById('antal1').value);
  Udregn = Udregn+(document.getElementById('højde2').value * document.getElementById('antal2').value);
  Udregn = Udregn+(document.getElementById('højde3').value * document.getElementById('antal3').value);
  alert('Den samlede værdi er: ' + Udregn);
}
</script>

Sådan! :)
Avatar billede tast Nybegynder
20. maj 2007 - 22:19 #8
Nu skal jeg desværre til at være besværlig.......
Tingene virker perfekt nu,- Men(det altid berømte MEN)når jeg har fået een udregning og går op i felterne og rettet i input text, og så trykker på beregn igen. Så beregner den ikke på ny. Men brokker sig blot......
Avatar billede w13 Novice
20. maj 2007 - 22:20 #9
Post lige hele koden her så. :)
Avatar billede tast Nybegynder
20. maj 2007 - 22:33 #10
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#003300">
<div align="center">
<script type="text/javascript">
function visBruger(sel){
if(sel.selectedIndex==0)
document.getElementById("showUser").style.display = "none";
else{
var vals = sel.value.split("|");
document.getElementById("højde1").setAttribute("value",vals[0]);
document.getElementById("sko1").setAttribute("value",vals[1]);
document.getElementById("antal1").setAttribute("value",vals[2]);
document.getElementById("motiv1").setAttribute("src",vals[3]);
document.getElementById("højde2").setAttribute("value",vals[4]);
document.getElementById("sko2").setAttribute("value",vals[5]);
document.getElementById("antal2").setAttribute("value",vals[6]);
document.getElementById("motiv2").setAttribute("src",vals[7]);
document.getElementById("højde3").setAttribute("value",vals[8]);
document.getElementById("sko3").setAttribute("value",vals[9]);
document.getElementById("antal3").setAttribute("value",vals[10]);
document.getElementById("motiv3").setAttribute("src",vals[11]);
document.getElementById("showUser").style.display = "block";
}
}
</script>
<FORM METHOD="POST" ACTION="http://www.one.com.dk">
<INPUT TYPE="HIDDEN" NAME="userid" VALUE="oneone">
    <table width="43%" height="1213" border="7" bordercolor="#999999" bgcolor="#FFFFFF">
      <tr bgcolor="#DDDDDD">
        <td height="81" colspan="3"><div align="center"> </div>
          <div align="center">
            <select name="bruger" onChange="visBruger(this);">
              <option>Hvem tror du er den rigtige?</option>
              <option value="svend|199|1|svend.jpg|Niles|90|3|PICT2260_Niles.gif|Søren|75|1|PICT2238.gif">Niels</option>
              <option value="Niles|90|3|PICT2260_Niles.gif|svend|199|1|svend.jpg|Søren|75|1|PICT2238.gif">Svend</option>
              <option value="Søren|75|1|PICT2238.gif|Niles|90|3|PICT2260_Niles.gif|svend|199|1|svend.jpg">Søren</option>
            </select>
          </div></td>
      </tr>
      <tr>
        <td width="47%" height="100" bgcolor="#92D74A"> <div align="left">
            <table width="97%" height="84" border="0" align="center">
              <tr>
                <td width="32%" height="25"><div align="right"><font face="Arial, Helvetica, sans-serif">Højde:</font></div></td>
                <td width="68%"><input name="højde1" id="højde1"></td>
              </tr>
              <tr>
                <td width="32%" height="25"><div align="right"><font face="Arial, Helvetica, sans-serif">Sko:
                    </font></div></td>
                <td><input name="sko1" id="sko1"></td>
              </tr>
            </table>
          </div>
          </td>
        <td width="41%"><div align="center"><img id="motiv1" src="Blank.gif" width="96" height="72"></div></td>
        <td width="12%" bgcolor="#92D74A"><p align="center"><font face="Arial, Helvetica, sans-serif">Antal:</font>
            <input name="antal1" id="antal1" size="4">
          </p>
          </td>
      </tr>
      <tr bgcolor="#DDDDDD">
        <td height="43" colspan="3">&nbsp;</td>
      </tr>
      <tr>
        <td height="100" bgcolor="#92D74A"><table width="97%" height="84" border="0" align="center">
            <tr>
              <td width="33%" height="25"><div align="right"><font face="Arial, Helvetica, sans-serif">Højde:</font></div></td>
              <td width="67%"><input name="højde2" id="højde2"></td>
            </tr>
            <tr>
              <td width="33%" height="25"><div align="right"><font face="Arial, Helvetica, sans-serif">Sko:
                  </font></div></td>
              <td><input name="sko2" id="sko2"></td>
            </tr>
          </table>
          <div align="left"></div>
          <div align="center"></div>
          <div align="center"></div></td>
        <td><div align="center"><img id="motiv2" src="Blank.gif" width="96" height="72">
</div></td>
        <td bgcolor="#92D74A"><p align="center"><font face="Arial, Helvetica, sans-serif">Antal:
            </font>
            <input name="antal2" id="antal2" size="4">
          </p>
          </td>
      </tr>
      <tr bgcolor="#DDDDDD">
        <td height="43" colspan="3">&nbsp;</td>
      </tr>
      <tr>
        <td width="47%" height="100" bgcolor="#92D74A">
<div align="left">
            <table width="97%" height="84" border="0" align="center">
              <tr>
                <td width="33%" height="25"><div align="right"><font face="Arial, Helvetica, sans-serif">Højde:</font></div></td>
                <td width="67%"><input name="højde3" id="højde3"></td>
              </tr>
              <tr>
                <td width="33%" height="25"><div align="right"><font face="Arial, Helvetica, sans-serif">Sko:
                    </font></div></td>
                <td><input name="sko3" id="sko3"></td>
              </tr>
            </table>
          </div>
          </td>
        <td width="41%"><div align="center"><img id="motiv3" src="Blank.gif" width="96" height="72">
</div></td>
        <td width="12%" bgcolor="#92D74A"><p align="center"><font face="Arial, Helvetica, sans-serif">Antal:
            </font>
<input name="antal3" id="antal3" size="4">
          </p>
          </td>
      </tr>
      <tr>
        <td height="43" colspan="3" bgcolor="#DDDDDD">&nbsp;</td>
      </tr>
      <tr>
        <td height="100" bgcolor="#92D74A">&nbsp;</td>
        <td>&nbsp;</td>
        <td bgcolor="#92D74A">&nbsp;</td>
      </tr>
      <tr>
        <td height="43" colspan="3" bgcolor="#DDDDDD">&nbsp;</td>
      </tr>
      <tr>
        <td height="100" bgcolor="#92D74A">&nbsp;</td>
        <td>&nbsp;</td>
        <td bgcolor="#92D74A">&nbsp;</td>
      </tr>
      <tr>
        <td height="43" colspan="3" bgcolor="#DDDDDD">&nbsp;</td>
      </tr>
      <tr>
        <td height="100" bgcolor="#92D74A">&nbsp;</td>
        <td>&nbsp;</td>
        <td bgcolor="#92D74A">&nbsp;</td>
      </tr>
      <tr>
        <td height="100" colspan="3" bgcolor="#92D74A"><div align="center">
<script language="JavaScript" type="text/JavaScript">
function Udregn() {
  Udregn = (document.getElementById('sko1').value * document.getElementById('antal1').value);
  Udregn = Udregn+(document.getElementById('sko2').value * document.getElementById('antal2').value);
  Udregn = Udregn+(document.getElementById('sko3').value * document.getElementById('antal3').value);
  alert('Den samlede værdi er: ' + Udregn);
}
</script>
<input type="button" value="Udregn" onclick="Udregn();">
            <input name="SUBMIT" type="SUBMIT" value="Send endeligt bud på person">
          </div></td>
      </tr>
    </table>


</FORM>
<p>&nbsp;</p>
</div>


</body>
</html>
Avatar billede w13 Novice
20. maj 2007 - 22:36 #11
Hmm.. Prøv at rette:
  function Udregn() {
til:
  function Udregn() {
    var Udregn;
Avatar billede w13 Novice
20. maj 2007 - 22:36 #12
var Udregn; betyder, at variablen "Udregn" nulstilles hver gang, vi udregner.
Avatar billede tast Nybegynder
20. maj 2007 - 22:45 #13
Jammen så ser det perfekt ud.

Takker for hjæpen,- og her er dine point....
Avatar billede w13 Novice
20. maj 2007 - 22:45 #14
Mig der takker. =)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester