Avatar billede BTEngineer Novice
16. januar 2007 - 21:14 Der er 9 kommentarer og
1 løsning

Drop down?

Hey,

Jeg er ved at lave et ban system hvor man kan vælge mellem at banne brugeren 3 - 24 timer, 1 - 31 dage, 1 - 12 måneder og permanent.

Det er ikke problemet, men problemet er at jeg ikke lige kan tænke mig til hvordan jeg laver sådan, at de andre drop downs bliver disabled hvis man f.eks. vælger 6 timer, eller 4 dage, eller 6 måneder, eller permanent for den sags skyld.

Man skal nemlig ikke kunne vælge permanent og så 12 måneder og dage osv. Heller ikke timer og så dage. Enten timer, dage, måneder eller permanent.

Nogen der kan hjælpe :-)?
Avatar billede mclemens Nybegynder
16. januar 2007 - 22:26 #1
Hvad med:


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>

<script type="text/javascript">
function chkscale(e){
  f=e.form;
  if(e.value=="Permanent"){
    f.amount.disabled=true;
    f.amount.style.display="none"; // ved ikke om denne ikke er ønsket
  }else{
    f.amount.disabled=false;
    f.amount.style.display="inline"; // ved ikke om denne ikke er ønsket
  }
}
</script>

</head><body>
<form method="get" action="1.html" name="formnavn">
Ban: <select name="amount"><option>1</option><option>2</option><option>3</option><option>4</option><option>o.s.v.</option></select> - <select name="scale" onchange="chkscale(this);"><option>minutter</option><option>timer</option><option>dage</option><option>måneder</option><option value="Permanent">Permanent</option></select>
<input type="submit" value="Ban fjolset">
</form>
</body></html>
Avatar billede mclemens Nybegynder
16. januar 2007 - 23:18 #2
Denne er nok tættere på :)


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>

<style type="text/css">
#amountid {width:50px;}
</style>

<script type="text/javascript">

var chkscales = {"Timer":[3,24],"Dage":[1,31],"Måneder":[1,12]};

function chkscale(e){

  var evalue=e[e.selectedIndex].firstChild.nodeValue;
  var a=e.form.amount;

  if(evalue=="Vælg"){

    a.disabled=true;
    a.style.display="inline"; // ved ikke om denne ikke er ønsket

  }else if(evalue=="Permanent"){

    a.disabled=true;
    a.style.display="none"; // ved ikke om denne ikke er ønsket

  }else{

    a.disabled=false;
    a.style.display="inline"; // ved ikke om denne ikke er ønsket

    for(i=0,j=a.childNodes.length;i<j;i++)a.removeChild(a.firstChild);
   
    for(i=chkscales[evalue][0],j=chkscales[evalue][1];i<=j;i++){
      var b=document.createElement("option");
      b.appendChild(document.createTextNode(i));
      a.appendChild(b);
    }

  }

}

function chksub(f){
  var e=f.scale;
  if(e[e.selectedIndex].firstChild.nodeValue=="Permanent"||!f.amount.disabled)return true;
  else{
    alert("Vælg ban type og tid");
    return false;
  }
}
</script>

</head><body>
<form method="get" action="1.html" name="formnavn" onsubmit="return chksub(this);">
Ban: <select name="amount" id="amountid" disabled="disabled"><option>&nbsp;</option></select><select name="scale" onchange="chkscale(this);"><option>Vælg</option><option>Timer</option><option>Dage</option><option>Måneder</option><option>Permanent</option></select>
<input type="submit" value="Ban fjolset">
</form>
</body></html>
Avatar billede roenving Novice
16. januar 2007 - 23:52 #3
Hvad med bare at sætte det som een lang dropdown ?-)

-- eller som radios opstillet i rækker, men med samme name !-)
Avatar billede BTEngineer Novice
19. januar 2007 - 22:26 #4
Mclemens -> Din anden løsning er perfekt. Men har du også en løsning til hvordan jeg så laver det i PHP, altså laver sådan at det bliver gemt i databasen - samt hvordan jeg benytter det, således at hvis man f.eks. vælger 16 timer, så er det præcis 16 timer fra når man trykker ban.

Hvis du ønsker flere point for det, skal du bare sige til - kan vi sagtens finde ud af.
Avatar billede roenving Novice
20. januar 2007 - 11:06 #5
Bare for at vise, at det faktisk kan gøres nogenlunde overskueligt med radios:

<style type="text/css">
body{font-family:tahoma, verdana, arial, sans-serif;}
.banDiv{width:300px;border:2px inset red;font-weight:600;}
</style>

<form>
Ban bruger:
<div class="banDiv">
Timer:<br>
<input type="radio" value="3t" name="banTime">&nbsp;3&nbsp;- <input type="radio" value="4t" name="banTime">&nbsp;4&nbsp;- <input type="radio" value="5t" name="banTime">&nbsp;5&nbsp;- <input type="radio" value="6t" name="banTime">&nbsp;6&nbsp;- <input type="radio" value="7t" name="banTime">&nbsp;7&nbsp;- <input type="radio" value="8t" name="banTime">&nbsp;8&nbsp;- <input type="radio" value="9t" name="banTime">&nbsp;9&nbsp;- <input type="radio" value="10t" name="banTime">&nbsp;10&nbsp;- <input type="radio" value="11t" name="banTime">&nbsp;11&nbsp;- <input type="radio" value="12t" name="banTime">&nbsp;12&nbsp;- <input type="radio" value="13t" name="banTime">&nbsp;13&nbsp;- <input type="radio" value="14t" name="banTime">&nbsp;14&nbsp;- <input type="radio" value="15t" name="banTime">&nbsp;15&nbsp;- <input type="radio" value="16t" name="banTime">&nbsp;16&nbsp;- <input type="radio" value="17t" name="banTime">&nbsp;17&nbsp;- <input type="radio" value="18t" name="banTime">&nbsp;18&nbsp;- <input type="radio" value="19t" name="banTime">&nbsp;19&nbsp;- <input type="radio" value="20t" name="banTime">&nbsp;20&nbsp;- <input type="radio" value="21t" name="banTime">&nbsp;21&nbsp;- <input type="radio" value="22t" name="banTime">&nbsp;22&nbsp;- <input type="radio" value="23t" name="banTime">&nbsp;23
</div>
<div class="banDiv">
Dage:<br>
<input type="radio" value="1d" name="banTime">&nbsp;1&nbsp;- <input type="radio" value="2d" name="banTime">&nbsp;2&nbsp;- <input type="radio" value="3d" name="banTime">&nbsp;3&nbsp;- <input type="radio" value="4d" name="banTime">&nbsp;4&nbsp;- <input type="radio" value="5d" name="banTime">&nbsp;5&nbsp;- <input type="radio" value="6d" name="banTime">&nbsp;6&nbsp;- <input type="radio" value="7d" name="banTime">&nbsp;7&nbsp;- <input type="radio" value="8d" name="banTime">&nbsp;8&nbsp;- <input type="radio" value="9d" name="banTime">&nbsp;9&nbsp;- <input type="radio" value="10d" name="banTime">&nbsp;10&nbsp;- <input type="radio" value="11d" name="banTime">&nbsp;11&nbsp;- <input type="radio" value="12d" name="banTime">&nbsp;12&nbsp;- <input type="radio" value="13d" name="banTime">&nbsp;13&nbsp;- <input type="radio" value="14d" name="banTime">&nbsp;14&nbsp;- <input type="radio" value="15d" name="banTime">&nbsp;15&nbsp;- <input type="radio" value="16d" name="banTime">&nbsp;16&nbsp;- <input type="radio" value="17d" name="banTime">&nbsp;17&nbsp;- <input type="radio" value="18d" name="banTime">&nbsp;18&nbsp;- <input type="radio" value="19d" name="banTime">&nbsp;19&nbsp;- <input type="radio" value="20d" name="banTime">&nbsp;20&nbsp;- <input type="radio" value="21d" name="banTime">&nbsp;21&nbsp;- <input type="radio" value="22d" name="banTime">&nbsp;22&nbsp;- <input type="radio" value="23d" name="banTime">&nbsp;23&nbsp;- <input type="radio" value="24d" name="banTime">&nbsp;24&nbsp;- <input type="radio" value="25d" name="banTime">&nbsp;25&nbsp;- <input type="radio" value="26d" name="banTime">&nbsp;26&nbsp;- <input type="radio" value="27d" name="banTime">&nbsp;27&nbsp;- <input type="radio" value="28d" name="banTime">&nbsp;28&nbsp;- <input type="radio" value="29d" name="banTime">&nbsp;29&nbsp;- <input type="radio" value="30d" name="banTime">&nbsp;30&nbsp;- <input type="radio" value="31d" name="banTime">&nbsp;31
</div>
<div class="banDiv">
Måneder:<br>
<input type="radio" value="1m" name="banTime">&nbsp;1&nbsp;- <input type="radio" value="2m" name="banTime">&nbsp;2&nbsp;- <input type="radio" value="3m" name="banTime">&nbsp;3&nbsp;- <input type="radio" value="4m" name="banTime">&nbsp;4&nbsp;- <input type="radio" value="5m" name="banTime">&nbsp;5&nbsp;- <input type="radio" value="6m" name="banTime">&nbsp;6&nbsp;- <input type="radio" value="7m" name="banTime">&nbsp;7&nbsp;- <input type="radio" value="8m" name="banTime">&nbsp;8&nbsp;- <input type="radio" value="9m" name="banTime">&nbsp;9&nbsp;- <input type="radio" value="10m" name="banTime">&nbsp;10&nbsp;- <input type="radio" value="11m" name="banTime">&nbsp;11&nbsp;- <input type="radio" value="12m" name="banTime">&nbsp;12
</div>
<div class="banDiv">
Permanent: <input type="radio" value="Ever" name="banTime">&nbsp;Altid
</div>
</form>

-- koden er selvfølgelig lang her, men den kan j også genereres med php !-)
Avatar billede mclemens Nybegynder
20. januar 2007 - 18:57 #6
Jeg har egentlig ikke rodet så meget med php.
Men mon ikke du kan tage et timestamp (time()) ved submit
sammen med brugernavnet og så når brugerne går rundt forespørg
du mysql om de har adgang - hvis time er over det timetidspunkt
der er sat samt den udregnede tid i ms så er der adgang.
Avatar billede BTEngineer Novice
26. februar 2007 - 16:37 #7
smid et svar mclemens :-)
Avatar billede mclemens Nybegynder
26. februar 2007 - 17:46 #8
Kommer her :)
Avatar billede BTEngineer Novice
04. marts 2007 - 09:44 #9
Sådan ;D
Avatar billede mclemens Nybegynder
04. marts 2007 - 11:48 #10
Tak for point :o)
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