Avatar billede 44fire44 Nybegynder
31. marts 2016 - 14:14 Der er 1 kommentar og
1 løsning

Gøre checkbox disabled efter dato

Hej eksperter

Jeg sidder og roder med et script pt. hvor at når klokken slår tolv, så skal det ikke længere være muligt at krydse en checkbox af.

Hvis jeg vælger uge (når den funktion bliver aktiv) tager scriptet ikke højde for at det er mandag i ugen efter hvis vi nu antager at det i dag var mandag og klokken var 14. Dvs. at alle mandage uanset ugenummer jeg vælger vil være disabled.

Hvordan får jeg mit script til at "skravere" efter dato fremfor ugedag?

<?php
$h = date('G');
$d = date('w');

if ($h < 12 && $d <= 1) $monday_checkbox = '';
else if ($h > 12 && $d >= 1) $monday_checkbox = 'disabled readonly';
else $monday_checkbox = '';

  if ($h < 12 && $d <= 2) $tuesday_checkbox = '';
else if ($h > 12 && $d >= 2) $tuesday_checkbox = 'disabled readonly';
else $tuesday_checkbox = '';

  if ($h < 12 && $d <= 3) $wednesday_checkbox = '';
else if ($h > 12 && $d >= 3) $wednesday_checkbox = 'disabled readonly';
else $wednesday_checkbox = '';

  if ($h < 12 && $d <= 4) $thursday_checkbox = '';
else if ($h > 12 && $d >= 4) $thursday_checkbox = 'disabled readonly';
else $thursday_checkbox = '';

  if ($h < 12 && $d <= 5) $friday_checkbox = '';
else if ($h > 12 && $d >= 5) $friday_checkbox = 'disabled readonly';
else $friday_checkbox = '';

  if ($h < 12 && $d <= 1) $monday_font = '';
else if ($h > 12 && $d >= 1) $monday_font = 'style="font-color:c0c0c0;text-decoration:line-through;"';
else $monday_font = '';

  if ($h < 12 && $d <= 2) $tuesday_font = '';
else if ($h > 12 && $d >= 2) $tuesday_font = 'style="font-color:c0c0c0;text-decoration:line-through;"';
else $tuesday_font = '';

  if ($h < 12 && $d <= 3) $wednesday_font = '';
else if ($h > 12 && $d >= 3) $wednesday_font = 'style="font-color:c0c0c0;text-decoration:line-through;"';
else $wednesday_font = '';

  if ($h < 12 && $d <= 4) $thursday_font = '';
else if ($h > 12 && $d >= 4) $thursday_font = 'style="font-color:c0c0c0;text-decoration:line-through;"';
else $thursday_font = '';

  if ($h < 12 && $d <= 5) $friday_font = '';
else if ($h > 12 && $d >= 5) $friday_font = 'style="font-color:c0c0c0;text-decoration:line-through;"';
else $friday_font = '';

//Er klokken før 12 den pågældende dag er der mulighed for at checke checkbox
//Er klokken over tolv den pågældende dag er det ikke længere muligt at checke checkbox
?>

<table>
<tr>
  <td colspan="2">Ugenummer <b>< 13 ></b></td>
</tr><tr>
<td <?php echo $monday_font; ?>>Mandag</td><td><input type="checkbox" <?php echo $monday_checkbox; ?>></td></tr><tr>
<td <?php echo $tuesday_font; ?>>Tirsdag</td><td><input type="checkbox" <?php echo $tuesday_checkbox; ?>></td></tr><tr>
<td <?php echo $wednesday_font; ?>>Onsdag</td><td><input type="checkbox" <?php echo $wednesday_checkbox; ?>></td></tr><tr>
<td <?php echo $thursday_font; ?>>Torsdag</td><td><input type="checkbox" <?php echo $thursday_checkbox; ?>></td></tr><tr>
<td <?php echo $friday_font; ?>>Fredag</td><td><input type="checkbox" <?php echo $friday_checkbox; ?>></td>
</tr>
</table>
Avatar billede jakobdo Ekspert
01. april 2016 - 11:02 #1
Du bliver nød til at lave et tjek på:

pseudo kode.

hvis dag = i dag og klokken er over 12:
  deaktiver dag.
hvis dag = i dag og klokken er inden 12:
  aktiver dag.
hvis dag > i dag:
  aktiver dag
hvis dag < i dag:
  deaktiver dag

Er det ikke så "simpelt" det tjek du skal lave ?

En anden tanke...
Hvis jeg åbner din side klokken 11:59, så er i dag "aktiv".
Hvis jeg så venter 2 min så er klokken jo faktisk 12:01 og bør vel ikke kunne aktiveres.
Så måske du skal overveje 2 ting.
Lav tidscheck javascript baseret.
Så kan de åbne og lukke i forhold til tiden på klienten (kan give udfordringer med tidszoner)

Og så skal du huske server-side tjek efterfølgende.
For som før nævnt, 11:59 kan blive til 12:01 og skal vel så ikke kunne aktiveres.
Avatar billede 44fire44 Nybegynder
09. maj 2016 - 22:02 #2
Sorry, jeg blev afskediget fra projektet...
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

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