Avatar billede cyberdude Nybegynder
14. november 2000 - 19:01 Der er 4 kommentarer og
1 løsning

senest 23: og tidligst 11:30

Godaften...

Jeg har dette script, og jeg vil gerne have det til at tjække nogle ekstra ting, men jeg kan ikke rigtigt få det til at virke, nogen der har løsningen??

følgende vil jeg gerne have det til
scriptet tjækker en indtastet tid fra en formular...
nu skal den så også tjække følgende...

det TIDLIGSTE tidspunkt som tillades (hvor scriptet ikke kommer med en alert meddelse)
skal sættes til 11:30

og det SENESTE skal være 23:45

Men jeg kan ikke hitte ud af hvorledes jeg skal ndsætte dette....
t = <?php print date(\"H\"); ?>
m = <?php print date(\"i\"); ?>
regExp = \'^2[0-4]$|^1[0-9]$|^[0-9]$\';
  lt = f.tim.value;
  if (lt.search(regExp) == -1) {
    alert(\'Det indtastede time-tal er ikke gyldigt!\');
    f.tim.focus();
    return false;
  }
  regExp = \'^[0-5][0-9]$|^[0-9]$\';
  lm = f.minut.value;
  if (lm.search(regExp) == -1) {
    alert(\'Det indtastede minut-tal er ikke gyldigt!\');
    f.minut.focus();
    return false;
  }
  if (lt < t) {
    alert(\'Det indtastede tidspunkt er tidligere i dag!\');
    f.tim.focus();
    return false;
  }
  if (lt == t) {
    if (lm < m) {
      alert(\'Det indtastede tidspunkt er tidligere i dag!\');
      f.tim.focus();
      return false;
    }
    else if ((m + 30) > lm){
      alert(\'Det indtastede tidspunkt er inden for 30 minutter\');
      f.tim.focus();
      return false;
    }
  }
  if (lt > t) {
    if ((60 - parseInt(m) + parseInt(lm)) < 30) {
      alert(\'Det indtastede tidspunkt er inden for 30 minutter\');
      f.tim.focus();
      return false;
    }
  }
  return true;
}
Avatar billede el_gnu Nybegynder
14. november 2000 - 22:30 #1
Prøv det her:

t = <?php print date(\"H\"); ?>
m = <?php print date(\"i\"); ?>
regExp = \'^2[0-4]$|^1[0-9]$|^[0-9]$\';
  lt = f.tim.value;
  if (lt.search(regExp) == -1) {
    alert(\'Det indtastede time-tal er ikke gyldigt!\');
    f.tim.focus();
    return false;
  }
  regExp = \'^[0-5][0-9]$|^[0-9]$\';
  lm = f.minut.value;
  if (lm.search(regExp) == -1) {
    alert(\'Det indtastede minut-tal er ikke gyldigt!\');
    f.minut.focus();
    return false;
  }
  if ((lt < 11) || ((lt == 11) && lm < 30)) {
    alert(\'Det tidligste leveringstidspunkt er 11:30\');
    return false;
  }
  if ((lt > 23) || ((lt == 23) && (lm > 0))) {
    alert(\'Det seneste leveringstidspunkt er 23:00\');
    return false;
  }
  if (lt < t) {
    alert(\'Det indtastede tidspunkt er tidligere i dag!\');
    f.tim.focus();
    return false;
  }
  if (lt == t) {
    if (lm < m) {
      alert(\'Det indtastede tidspunkt er tidligere i dag!\');
      f.tim.focus();
      return false;
    }
    else if ((m + 30) > lm){
      alert(\'Det indtastede tidspunkt er inden for 30 minutter\');
      f.tim.focus();
      return false;
    }
  }
  if (lt > t) {
    if ((60 - parseInt(m) + parseInt(lm)) < 30) {
      alert(\'Det indtastede tidspunkt er inden for 30 minutter\');
      f.tim.focus();
      return false;
    }
  }
  return true;
}

( )
00///////>
~  /\\  /\\
Avatar billede cyberdude Nybegynder
14. november 2000 - 22:44 #2
el_gnu...
Endnu en gang tak

det virker bare perfekt...

Avatar billede el_gnu Nybegynder
15. november 2000 - 14:11 #3
:-)
Avatar billede cyberdude Nybegynder
19. november 2000 - 19:51 #4
øhh el_gnu...

jeg er lige stødt på et problem....

hvis klokken er 19.48

og jeg gerne vil bestille til eks. kl. 21.10 så får jeg ikke lov... jeg får blodt at vide at \"Det indtastede tidspunkt er inden for 30 minutter\"

hvorfor der er jo over 1 time til afhentningen...

jeg tror at problemet ligger i at der tjækkes på minut tallet og slet ikke på timetallet, har jeg lidt ret ??
Avatar billede el_gnu Nybegynder
20. november 2000 - 15:44 #5
problemet er at scriptet behandler alle timetal der er større end det aktuelle, som det aktuelle + 1. Udskift den sidste if blok med følgende:

  if (lt == (t+1)) {
    if ((60 - parseInt(m) + parseInt(lm)) < 30) {
      alert(\'Det indtastede tidspunkt er inden for 30 minutter\');
      f.tim.focus();
      return false;
    }
  }
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