Avatar billede tast Nybegynder
11. maj 2007 - 01:37 Der er 11 kommentarer og
1 løsning

beregn og overfør tal til ny side

Er det muligt at gøre dette og hvorn´

1) Indtast tal i input felt eller vælg tal fra dropdown menu(på html side 1)
2) herefter er der en udregning(feks. indtastet tal*2)
3) resultat sendes til html side 2 og ender i enten en dropdown menu eller input felt.
Avatar billede roenving Novice
11. maj 2007 - 01:42 #1
Hvad skal du bruge det til, for umiddelbart lyder det som om, det vil være en hel del lettere bare at vise og skjule ...

-- altså, når det første tal er tastet ind, så udløse en event, der så skjuler den del af siden, hvor indtastningen er foregået, og derefter vise en anden del af siden, der har været skjult, hvor den beregnede værdi så bruges !-)
Avatar billede tast Nybegynder
11. maj 2007 - 02:07 #2
Nu er jeg ikke den store ørn til dette, så at skjule en side der er jeg helt blank.
Er det muligt for dig at lave et simpelt eksempel så jeg kan få en ide om hvad du mener?

Jeg skal blot bruge det til et lille projekt.

Meningen er at man f.eks ved at skrive hvor mange spande man har,- så kan den regne ud hvor meget vand du skal have. dette vil så komme frem på en ny side for overskuelighedens skyld og for udfordringen......
Avatar billede roenving Novice
11. maj 2007 - 11:01 #3
Et lillebitte eksempl, men med en masse af de muligheder, man har !-)

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Simpelt vis/skjul med beregning</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
html,body{height:100%;margin:0px;border:0px;padding:0px;font-family:tahoma,verdana,arial,sans-serif;font-size:small;}
</style>
<script language="javascript" type="text/javascript">
function beregnOgVis(elm){
  var res;
  switch(elm.id){
    case "indtast":
      res = elm.value*2;
      document.getElementById("fordobling").style.display = "inline";
      break;
    case "vaelg":
      res = elm.value*1.25;
      document.getElementById("moms").style.display = "inline";
  }
  document.getElementById("resultat").firstChild.nodeValue = res + (elm.id == "vaelg" ? " kr." : "");
  document.getElementById("visResultat").style.display = "block";
  document.getElementById("visFoerst").style.display = "none";
}
</script>
</head>
<body>
<div id="site">
<form id="minForm" name="minForm">
<div id="visfoerst">
  Indtast tal, der skal fordobles: <input type="tekst" id="indtast" onchange="beregnOgVis(this);"><br>
  -- eller vælg tal, der skal moms på:
  <select id="vaelg" onchange="if(this.selectedIndex>0)beregnOgVis(this);">
    <option>Vælg beløb</option>
    <option value="5">5 kr.</option>
    <option value="10">10 kr.</option>
    <option value="15">15 kr.</option>
    <option value="20">20 kr.</option>
    <option value="25">25 kr.</option>
    <option value="30">30 kr.</option>
    <option value="35">35 kr.</option>
    <option value="40">40 kr.</option>
    <option value="45">45 kr.</option>
    <option value="50">50 kr.</option>
  </select>
</div>
<div id="visResultat" style="display:none;">
  Beregningen blev gennemført som <span id="fordobling" style="display:none;">en fordobling</span><span id="moms" style="display:none;">total inklusive moms</span><br>
  Resultatet er: <span id="resultat">&nbsp;</span>
</div>
</form>
</div>
</body>

</html>
Avatar billede tast Nybegynder
16. maj 2007 - 03:00 #4
Sorry for den langsomme tilbagemelding....Der sneg sig liiiige et bryllup ind fra højre;-)

På ovenstående eksempel, kan jeg ikke rigtig få "Indtast tal, der skal fordobles:" til at virke. Tilgengæld virker dropdown menuen perfekt.

Mit spørgsmål er hvis man vælger noget i dropdown menuen, kan man så få den til at smide resultatet over i en ny dropdown menu. Eller mere at foretrække - få den til at smide resultatet ind i et "input type="text" felt?

Jeg har en forestilling om at den gav resultaterne på skærmen i en opsat struktur, og så man havde muligheden for først at rette i resultatet(derfor input type="text") og derefter bruge en method="post" og i sidste ende sende resultaterne.

Jeg ved ikke om det giver mening, da jeg kaster om mig med ting som jeg knap nok er ved at forstå.........

Ellers spørg løs og jeg skal prøve at forklare så godt jeg kan.
Avatar billede roenving Novice
16. maj 2007 - 11:18 #5
Sagtens !-)

-- og hvorfor kan du ikke få tal-indtastningen til at virke ?-)

-- måske forsøger du ikke at komme ud af feltet, s pøv f.eks. at klikke udenfor eller trykke på tab-tasten eller noget, for det er jo nødvendigt at vide, hvornår du er færdig med at taste tallet !o]

-- og da der allerede er indsat en form, kan du bare ændre resultat-tingen til et input-felt:

Resultatet er: <input name="resultat" id="resultat">

-- og tilsvarende sætte værdien:

  document.getElementById("resultat").setAttribute("value", res + (elm.id == "vaelg" ? " kr." : ""));

-- så er der kun tilbage at sætte en action på form-tagget og tilføje en submit-knap !-)
Avatar billede tast Nybegynder
17. maj 2007 - 13:26 #6
Du har ret det virker.....

Det her med at vise og skjule skal man bruge java for at gøre dette?

Jeg har lige et sidste spørgsmål.
Kan følgende lade sig gøre og hvordan og kan det gøres kun med html/forms?(da jeg absolut ikke kan finde hoved eller hale i java ;-))


der er en dropdown menu med 4 valgmuligheder.

til hver af de 4 menuer er der tilknyttet nogle predefineret resultater
Så feks:
i menu 1 er der predefineret af der er navn:svend Efternavn:svendsen alder:40 højde:180
i menu 2 er der predefineret af der er navn:henning Efternavn:henningsen alder:40 højde:180
osv osv.....

Når man så vælger feks menu 1 så skjuler den det gamle og viser det nye hvilket er: navn:svend
Efternavn:svendsen
alder:40
højde:180
som hver især står i hvert sit "input type="text" felt, så man kan arbejde videre med det.

Jeg ved godt at jeg cykler frem og tilbage, men jeg syntes at det er vildt spændende og jeg har lidt svært ved at finde noget godt og konkret på nettet. Så jeg håber at det er ok at jeg lige spørger som en tosse uden begrænsninger(måske findes der en super god bog om disse forms?).
Jeg kan ikke rigtig finde ud af hvordan man sætter point´ene op, men jeg vil meget gerne sætte det op til 100, så hvorn´ gør man det?
Avatar billede roenving Novice
17. maj 2007 - 13:55 #7
Du er helt ude i hampen, hvis du finder på at forkorte javascript til java, for de to ting har ca. 4 ting med hinanden at gøre:

j - a - v - a ...

-- men ellers kan du f.eks.

<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("fornavn").setAttribute("value",vals[0]);
    document.getElementById("efternavn").setAttribute("value",vals[1]);
    document.getElementById("alder").setAttribute("value",vals[2]);
    document.getElementById("hojde").setAttribute("value",vals[3]);
    document.getElementById("showUser").style.display = "block";
  }
}
</script>

<form>
  <select name="bruger" onchange="visBruger(this);">
    <option>Vælg bruger</option>
    <option value="Svend|Svendsen|40|180">Svend</option>
    <option value="Hans|Hansen|14|163">Hans</option>
    <option value="Jørgen|Jøgensen|34|198">Jørgen</option>
  </select>
  <div id="showUser" style="display:none;">
    <table>
      <tr>
        <td>Fornavn:&nbsp;</td>
        <td><input name="fornavn" id="fornavn"></td>
      </tr>
      <tr>
        <td>Efternavn:&nbsp;</td>
        <td><input name="efternavn" id="efternavn"></td>
      </tr>
      <tr>
        <td>Alder:&nbsp;</td>
        <td><input name="alder" id="alder"></td>
      </tr>
      <tr>
        <td>Højde:&nbsp;</td>
        <td><input name="hojde" id="hojde"></td>
      </tr>
    </table>
  </div>
</form>
Avatar billede tast Nybegynder
17. maj 2007 - 14:17 #8
Så så ro på,- jeg mener allerede at jeg har forklaret at dette her ikke er min stærke side,- men at det er rimeligt nyt for mig......

Men jeg kan udlede at man ikke kan lave denne funktion udelukkende med forms UDEN javascript eller hva?
som udgangspunkt vil det blot være lettere for mig hvis jeg kan lave det med forms da jeg bedre kan kapere og forholde mig til det, istedet for javascript som lige er for stor en mundfuld for mig nu.
Avatar billede roenving Novice
17. maj 2007 - 14:21 #9
Du har helt ret, det kan ikke laves uden javascript !-)

-- der kan det til gengæld laves på 97 forskellige måder, alt afhængig af, hvordan siden er opbygget, hvor data kommer fra, hvad de skal bruges til osv., osv.
Avatar billede tast Nybegynder
17. maj 2007 - 17:03 #10
Okay, tak for hjælpen.
smider du et svar så du kan få point?
Avatar billede roenving Novice
17. maj 2007 - 17:06 #11
Velbekomme '-)
Avatar billede roenving Novice
17. maj 2007 - 17:14 #12
-- og tak for point ;~}
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