Avatar billede newbie.dk Praktikant
21. oktober 2004 - 13:59 Der er 7 kommentarer og
1 løsning

lag i en formular

Jeg har lavet en formular, hvor man skal besvare nogle spørgsmål. Disse besvarelser får en løbende værdi efter hvad man svare. Resultatet kommer til at stå i bunden af formularen i en boks.

Kan man ligge et lag ind som løbende viser resultatet, altså så man hele tiden kan se hvor mange point man har. Som også følger med når man scroller igennem spørgsmålene.
Jeg ved ikke om det skal være et lag, eller om det kan gøres på anden måde, det kan være i har nogle bedre idéer.

Jeg vil meget gerne at resultatet ikke står i en boks, men som alm. tekst. Kan det lade sig gøre?
Avatar billede roenving Novice
21. oktober 2004 - 14:03 #1
Ville det være en idé at have alle spørgsmålene i et element, som kunne scrolles, mens resten af formularen var statisk ?-)

-- og at smide resultatet ind som tekst er simpelt nok ved at bruge en span i stedet for en input (evt. suppleret med et hidden field !-)
Avatar billede newbie.dk Praktikant
21. oktober 2004 - 14:45 #2
Tja, jeg er ikke sikker på hvad du snakker om. Men nu har jeg lavet hele skemaet(formularen) så jeg håber ikke der skal laves for meget om.
Min kode(den du har lavet til mig:)) ser i træk således ud:

<script type="text/javascript">
function checkTal(f){
  var num=0,e=f.elements;
  for(i=0;e.length>i;i++){
    if(e[i].type=='radio'&&e[i].checked)
      num += +e[i].value;
  }
  f.visTal.value = num;
}
</script>

------------------------
?1. Er du
<br><input type="radio" name="radio1" value="2" onclick="checkTal(this.form)">1<br>
<input type="radio" name="radio1"  value="3" onclick="checkTal(this.form)">2<br><br>
?2. Hvis du er
<br><input type="radio" name="radio2" value="5" onclick="checkTal (this.form)">5<br>
<input type="radio" name="radio2" value="-5" onclick="checkTal(this.form)">6<br>
<br>

------------------------
<input type="button" onclick="alert(num);return false;" value="Vis tal">
<br><input type="text" name="visTal" readonly="readonly">
------------------------

Hvis/når vi får løst dette problem kan jeg lukke begge spørgsmål.
Avatar billede roenving Novice
21. oktober 2004 - 15:10 #3
F.eks.

<script type="text/javascript">
function checkTal(f){
  var num=0,e=f.elements;
  for(i=0;e.length>i;i++){
    if(e[i].type=='radio'&&e[i].checked)
      num += +e[i].value;
  }
  f.visTal.value = num;
}
</script>

<form>
------------------------
<div style="position:relative;width:250px;height:250px;overflow:-moz-scrollbars-vertical;overflow-x:hidden;overflow-y:scroll;">
?1. Er du
<br><input type="radio" name="radio1" value="2" onclick="checkTal(this.form)">1<br>
<input type="radio" name="radio1"  value="3" onclick="checkTal(this.form)">2<br><br>
?2. Hvis du er
<br><input type="radio" name="radio2" value="5" onclick="checkTal (this.form)">5<br>
<input type="radio" name="radio2" value="-5" onclick="checkTal(this.form)">6<br>
<br>

?1. Er du
<br><input type="radio" name="radio1" value="2" onclick="checkTal(this.form)">1<br>
<input type="radio" name="radio1"  value="3" onclick="checkTal(this.form)">2<br><br>
?2. Hvis du er
<br><input type="radio" name="radio2" value="5" onclick="checkTal (this.form)">5<br>
<input type="radio" name="radio2" value="-5" onclick="checkTal(this.form)">6<br>
<br>

?1. Er du
<br><input type="radio" name="radio1" value="2" onclick="checkTal(this.form)">1<br>
<input type="radio" name="radio1"  value="3" onclick="checkTal(this.form)">2<br><br>
?2. Hvis du er
<br><input type="radio" name="radio2" value="5" onclick="checkTal (this.form)">5<br>
<input type="radio" name="radio2" value="-5" onclick="checkTal(this.form)">6<br>
<br>

?1. Er du
<br><input type="radio" name="radio1" value="2" onclick="checkTal(this.form)">1<br>
<input type="radio" name="radio1"  value="3" onclick="checkTal(this.form)">2<br><br>
?2. Hvis du er
<br><input type="radio" name="radio2" value="5" onclick="checkTal (this.form)">5<br>
<input type="radio" name="radio2" value="-5" onclick="checkTal(this.form)">6<br>
<br>

?1. Er du
<br><input type="radio" name="radio1" value="2" onclick="checkTal(this.form)">1<br>
<input type="radio" name="radio1"  value="3" onclick="checkTal(this.form)">2<br><br>
?2. Hvis du er
<br><input type="radio" name="radio2" value="5" onclick="checkTal (this.form)">5<br>
<input type="radio" name="radio2" value="-5" onclick="checkTal(this.form)">6<br>
<br>

?1. Er du
<br><input type="radio" name="radio1" value="2" onclick="checkTal(this.form)">1<br>
<input type="radio" name="radio1"  value="3" onclick="checkTal(this.form)">2<br><br>
?2. Hvis du er
<br><input type="radio" name="radio2" value="5" onclick="checkTal (this.form)">5<br>
<input type="radio" name="radio2" value="-5" onclick="checkTal(this.form)">6<br>
<br>

?1. Er du
<br><input type="radio" name="radio1" value="2" onclick="checkTal(this.form)">1<br>
<input type="radio" name="radio1"  value="3" onclick="checkTal(this.form)">2<br><br>
?2. Hvis du er
<br><input type="radio" name="radio2" value="5" onclick="checkTal (this.form)">5<br>
<input type="radio" name="radio2" value="-5" onclick="checkTal(this.form)">6<br>
<br>

?1. Er du
<br><input type="radio" name="radio1" value="2" onclick="checkTal(this.form)">1<br>
<input type="radio" name="radio1"  value="3" onclick="checkTal(this.form)">2<br><br>
?2. Hvis du er
<br><input type="radio" name="radio2" value="5" onclick="checkTal (this.form)">5<br>
<input type="radio" name="radio2" value="-5" onclick="checkTal(this.form)">6<br>
<br>

?1. Er du
<br><input type="radio" name="radio1" value="2" onclick="checkTal(this.form)">1<br>
<input type="radio" name="radio1"  value="3" onclick="checkTal(this.form)">2<br><br>
?2. Hvis du er
<br><input type="radio" name="radio2" value="5" onclick="checkTal (this.form)">5<br>
<input type="radio" name="radio2" value="-5" onclick="checkTal(this.form)">6<br>
<br>
</div>
------------------------
<input type="button" onclick="alert(num);return false;" value="Vis tal">
<br><input type="text" name="visTal" readonly="readonly">
</form>
Avatar billede newbie.dk Praktikant
21. oktober 2004 - 16:01 #4
Jo, det ser da ok ud. Ikke lige hvad jeg havde regnet med, havde håbet på en ting der kørte med ned når man scroll'ede. Men jeg tror måske man kan få det til at se okay ud.

Havde du en god idé til hvordan man fik teksten væk fra boksen. Så det kom til at stå som alm. tekst.
Avatar billede roenving Novice
21. oktober 2004 - 16:18 #5
Det kan man også, men min erfaring er, at der skal meget volsom kode og omhu, for at få det til at virke konsistent ...

-- ovenstående virker umiddelbart perfekt i IE og Gecko-browserne, næsten perfekt i de browsere, som ikke understøtter overflow-x/y ...
Avatar billede newbie.dk Praktikant
21. oktober 2004 - 16:53 #6
Okay. Meget fint.
Jeg har klaret mig med denne:

<input type="text" name="visTal" readonly="readonly" size="6" style="font-family: Verdana; font-size: 18pt; color: #000000; font-weight: bold; border: 1 solid #FFFFFF">

Det ser okay ud. Men ikke optimalt.

Ligger du et svar.
Avatar billede roenving Novice
21. oktober 2004 - 17:10 #7
Argh, den sidste havde jeg glemt alt om:

<script type="text/javascript">
function checkTal(f){
  var num=0,e=f.elements;
  for(i=0;e.length>i;i++){
    if(e[i].type=='radio'&&e[i].checked)
      num += +e[i].value;
  }
  document.getElementById('visTal').innerHTML = num;
}
</script>

-- og:

<span id="visTal" style="font-family: verdana,sans-serif; font-size: 18px; font-weight: bold;"></span>

Velbekomme '-)
Avatar billede roenving Novice
10. november 2004 - 15:14 #8
-- 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