Avatar billede newbie.dk Praktikant
31. august 2004 - 16:08 Der er 11 kommentarer og
1 løsning

Formular, der løbende ligger tal til/fra

Kan man lave en formular der løbende ligger tal til/fra?

Det jeg tænkte på var at man trykker(radio) nogle valg, som enten ligger et tal til eller trækker et fra.
Fx. starter man med 20. Og derefter vælger man, som herunder:

Er du mand?          <- ja, ligger 2 til - nej, trækker 2 fra
O ja  O Nej

Er du over 30 år?    <- ja, ligger 2 til - nej, trækker 2 fra
O ja  O Nej

Har du bil?          <- ja, ligger 2 til - nej, trækker 2 fra
O ja  O Nej

Har du børn?
O 1  O 2  O over 2  <- 1, ligger 1 til - 2, ligger 2 til - 3 ligger 3 til

----------------------------

Noget i den stil.
Kan man starte med forskellige tal, altså kvinder starter med et, og mænd med et andet.
Kan man hvis det er en kvinde putte et ekstra spørgsmål ind. Dette skal så ikke være der hvis man er mand.

Jeg ved ikke om det er til at forstå, så spørg bare.
Håber I kan hjælpe.
Avatar billede roenving Novice
31. august 2004 - 16:36 #1
Sådan ?-)

<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>
Er du mand?
<br>
<input type="radio" name="radio1" value="20" onclick="checkTal(this.form)">ja  <input type="radio" name="radio1"  value="25" onclick="checkTal(this.form)">Nej
<br>
Er du over 30 år?
<br>
<input type="radio" name="radio2" value="2" onclick="checkTal(this.form)">ja  <input type="radio" name="radio2" value="-2" onclick="checkTal(this.form)">Nej
<br>
Har du bil?
<br>
<input type="radio" name="radio3" value="2" onclick="checkTal(this.form)">ja  <input type="radio" name="radio3"  value="-2" onclick="checkTal(this.form)">Nej
<br>
Har du børn?
<br>
<input type="radio" name="radio4" value="1" onclick="checkTal(this.form)">1  <input type="radio" name="radio4" value="2" onclick="checkTal(this.form)">2  <input type="radio" name="radio4" value="3" onclick="checkTal(this.form)">over 2
<br>
<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
31. august 2004 - 23:37 #2
Fedt det ser godt ud.
Nu har jeg ikke tastet alle mine spørgsmål ind endnu, så jeg er ikke helt sikker på hvordan det kommer til at se ud. Jeg kigger på det imorgen.

Kan man lave text-felt om, så det bliver skrevet ud på en anden/pænere måde?
Avatar billede roenving Novice
01. september 2004 - 02:01 #3
Grundlæggende skal man kun bruge tekst-felter, hvis de skal ligne indtasningsfelter, ellers skal man bruge andre typer, oftest spans eller lignende, og så fylde dem op med innerHTML, kig f.eks. på http://roenving.users.whitehat.dk/date/roenvingDate.html ...

Men du kan sagtens ændre på styles for input-felter, så de ikke har feel and look som indtastningsfelter, og jeg har jo netop fjernet muligheden for at indtaste i ovenviste eksempel !-)
Avatar billede newbie.dk Praktikant
02. september 2004 - 13:22 #4
Det ser jo fint ud med innerHTML. Men jeg har prøvet at kigge lidt på din kode, men den kan jeg ikke lige få sat sammen på min side. Måske du kan guide mig lidt videre.

Kunne det lade sige gøre at hvis man svarede på et spørgsmål, fik man en række spørgsmål, men hvis man havde valgt det andet ville man have fået en anden række spørgsmål. Tænker på mand / kvinde.
Avatar billede roenving Novice
02. september 2004 - 13:52 #5
Sagtens, f.eks.

<script type="text/javascript">
function vis(elm1,elm2){
  document.getElementById(elm1).style.display = 'block';
  document.getElementById(elm2).style.display = 'none';
}
</script>

<input type="radio" name="gender" onclick="vis('mand','kvinde')">Mand<br>
<input type="radio" name="gender" onclick="vis('kvinde','mand')">Kvinde<br>

<div id="mand" style="display:block;">Mand
<!-- en masse felter -->
</div>
<div id="kvinde" style="display:none;">Kvinde
<!-- en masse felter -->
</div>
Avatar billede newbie.dk Praktikant
22. september 2004 - 14:01 #6
Nu har jeg været en del væk, og har derfor ikke fået lavet det sidste. Men det ser fint ud.
Men en ting jeg tænkte på var om man kunne lave en smart ting hvor man hele tiden kunne følge med i scoren. Nu sker det til sidst på siden, men da denne er ret lang, og man kommer til at skulle scrolle for at se scoren, kunne det være fint med sådan en lille ting. Kan man det?
Avatar billede roenving Novice
22. september 2004 - 14:07 #7
Det nemmeste ville være at have to forskellige elementer, hvor den ene indeholdt scoren og det andet indeholdt alle de felter, som kunne udløse ændringer i scoren ...
Avatar billede newbie.dk Praktikant
11. oktober 2004 - 15:52 #8
Hvordan ville du lave det med de to elementer? Kan man der kommer udenom boksen, og evt. bruge innerHTML som du omtalt tidligere. Ved ikke lige hvordan man skulle flette den sammen, men håber du har en ide.
Avatar billede newbie.dk Praktikant
10. november 2004 - 15:08 #9
Ligger du et svar, så får du 50p.
Avatar billede roenving Novice
10. november 2004 - 15:14 #10
Jeg ville placere to div'er, den med alle spørgsmålene skulle så have en bestemt størrelse og scroll enabled, så den anden hele tiden befandt sig et fast sted på siden !-)

-- et alternativ kunne være at positionere diven med scoren absolut ovenpå siden, men den kan så komme til at skygge ...

Velbekomme '-)
Avatar billede newbie.dk Praktikant
10. november 2004 - 15:34 #11
Okay, du lavede en løsning til mig i dette nyere spm. http://www.eksperten.dk/spm/552916 er den blev jeg meget tilfreds med... mange tak
Avatar billede roenving Novice
10. november 2004 - 15:37 #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