Avatar billede bongo7 Praktikant
13. marts 2012 - 17:34 Der er 35 kommentarer

asp kalender

Hejsa, jeg er ved at lave mig en hjemmeside hvor jeg vil have en asp kalender integreret.

Er der en der kender en hvor man kan oprette en opgave på en specifik data og reservere en bestemt antal timer til denne event.

Der er så mange kalendere derude og en masse døde links så har opgivet at lede og håber derfor en af her har set sådan en eller lavet en de vil dele med mig.
Avatar billede mireigi Novice
18. marts 2012 - 05:49 #1
Selve kalenderen er du nødt til at lave i JavaScript så brugerne kan bladre i den uden at skulle genindlæse siden.

Dataene henter du så fra din database og føder til din kalender.

Det er dog slet ikke nogen nem opgave.

Jeg har på tidligere arbejde lavet en event-kalender, hvor dage med events blev vist som aktive links i kalenderen.

Kalenderen kan du finde her:
http://soefart.dk/?ci=1

Bemærk at du er nødt til at kigge på CSS'en til kalenderen også for at få den til at se ordentlig ud.

Kalenderen indeholder en smule ekstra kode som nok ikke er interessant for dig, da den også kan bruges som datovælger.
Avatar billede teamdev Novice
28. juli 2012 - 14:03 #2
@mireigi - Kunne man få lov at se kildekoden til din kalender ?
Avatar billede mireigi Novice
28. juli 2012 - 14:26 #3
Ja, den kan du finde her:
http://pastebin.com/etgR9Qxj
Avatar billede teamdev Novice
28. juli 2012 - 19:04 #4
lækkeret, og den skal så bare ind i en html side som <script source calendar.jsp... etc> ?

kan den modificeres så ugen starter med mandag istedet for søndag?
Avatar billede mireigi Novice
29. juli 2012 - 02:26 #5
Den starter med Mandag. Hvis du bruger et engelsk OS, er det muligt at den starter med Søndag.

For at vise den, skal du bruge følgende:
<script src="calendar.js" type="text/javascript">
<div id="BoxCalendar" class="Box"></div>
<script type="text/javascript">
  var myCal = new Calendar('myCal', new Date(2012, 6, 29))
  myCal.addActiveDay(new Date(2012, 7, 12));
  myCal.create();
</script>


Hvor new Date(2012, 6, 29) skal erstattes af den dato du ønsker at starte på, typisk dags dato.

myCal.addActiveDay(new Date(2012, 7, 12)); tilføjer en aktiv dato d. 12-8-2012, hvor et klik på denne dato sender brugeren videre til dinurl.dk/?ci=2012-8-12. Denne sti kan dog rettes.
Avatar billede teamdev Novice
29. juli 2012 - 09:29 #6
@ mireigi -
Den stump du har lagt på, der skulle få kalenderen vist, giver en nested script error

<script src="calendar.js" type="text/javascript">
<div id="BoxCalendar" class="Box"></div>
<script type="text/javascript">
  var myCal = new Calendar('myCal', new Date(2012, 6, 29))
  myCal.addActiveDay(new Date(2012, 7, 12));
  myCal.create();
</script>

Når jeg så fjerner den ekstra <script> i linje 3 får jeg en blank side.
Avatar billede teamdev Novice
29. juli 2012 - 09:34 #7
Efter at have lagt hele .js scriptet ind i <head></head>

får jeg en dum box, uden indhold (andet end et rødt kryds og teksten - maritim kalender
Under boxen hælder den så alle månedens dage ud på en lang liste
Avatar billede mireigi Novice
29. juli 2012 - 22:07 #8
Hmm, kan du poste fejlen herinde?
Det kan være, at fejlen skyldes manglende semikolon efter instantiering af kalenderen:
var myCal = new Calendar(...);

Grunden til at du får en mærkeligt udseende kalender, er at du mangler at angive CSS'en for den. Kalenderen er lavet således, at du via CSS kan indstille hele dens udseende uden at skulle rode med javascriptet.
Avatar billede teamdev Novice
08. august 2012 - 23:02 #9
@ mireigi - Så fik jeg den på plads.

Skyldtes ganske rigtigt css.

Synes det er en fin lille kalender - er dog lidt ustabil i formateringen i højre kolonne...
Kan du iøvrigt anvise hvorledes jeg kan få sat links på datoerne? Altså hvor i javascriptet jeg skal pille.
Det må vel egentlig også være til at få baggrunden til at være rød istedet for teksten på aktive datoer?...
Burde der ikke være bladre funktion til højre og venstre for måned/år ?
Avatar billede mireigi Novice
09. august 2012 - 09:24 #10
Det bedste er nok, at du kopierer CSS'en fra sitet den er brugt på, og så modificerer det til at passe med ønsket størrelse og farver. Kalenderen er udviklet af mig, men stylet af en designer.

Angående at få links på datoerne, skal du gøre således:
myCal.addActiveDay(new Date(2012, 8, 12));


Det vil så lave et link på datoen, der linker til "/?ci=2012-09-12". Du kan ændre det på linje 95.

På Søfart.dk hentes alle events på den angivne dato, når man rammer "/?ci=yyyy-MM-dd". Har du behov for en anden løsning, skal jeg gerne bistå med at rette scriptet til.
Avatar billede mireigi Novice
09. august 2012 - 09:26 #11
Der er skam også bladrefunktion på hver side af måned/år.
http://soefart.dk/?ci=1

Ligeledes kan du klikke på måned/år for at få vist alle månederne i året. Klikker du herefter på året, får du vist nuværende årti.
Avatar billede teamdev Novice
09. august 2012 - 21:08 #12
@mireigi - Takker igen - Ser på det henover weekenden.
Avatar billede teamdev Novice
12. august 2012 - 13:42 #13
@Mireigi

Selv med CSS fra siden og js filen, får jeg ingen navigation, og der er stadig knas med formateringen i søndags kolonnen (7)

Har du mulighed for at klippe kalenderen ud separat med rette DIV tags og nødvendig javascript funktioner m.v. så den kan køre i en separat ASP side ?
Avatar billede mireigi Novice
12. august 2012 - 14:19 #14
Jeg kan godt kigge på det.

Kan du uploade din kode (HTML og CSS) til et sted, hvor jeg kan hente den?
Avatar billede teamdev Novice
12. august 2012 - 14:40 #15
Avatar billede teamdev Novice
12. august 2012 - 17:50 #16
ligger i en live version her
http://calendar.net46.net/default.htm

Directory browsing :
http://calendar.net46.net/
Avatar billede teamdev Novice
12. august 2012 - 18:49 #17
@Mireigi - Burde vel egentlig oprette selvstændigt spørgsmål med henvisning til dette...
Avatar billede mireigi Novice
16. august 2012 - 12:43 #18
@teamdev: Jeg syntes det er fint at holde det herinde, da det er relateret.

Jeg har ikke nogen problemer med at få navigeringen til at virke i både FF og IE8/9.

Umiddelbart ser det ud til, at dette skal rettes:

KEY
Grøn = Tilføjelse
Rød = Slettelse
Fremhævet = Rettelse

CODE
.CalendarWrapper {
    width: 266px;
    margin: 0 auto;
    border-width: 1px;
    border-top-style: solid;
    border-right-style: none;
    border-bottom-style: none;
    border-left-style: solid;
    border-color: #DDD9CB;
    font-size: 0px;
}
.CalendarCell {
    color: #706F69;
    width: 37px;
    height: 20px;
    font-size: 12px;
    display: inline-block;
    letter-spacing: normal;
    white-space: normal;
    vertical-align: top;
    margin-left: -3px;
    border-width: 0 1px 1px 0;
    border-style: none solid solid none;
    border-right-color: #DDD9CB;
    border-bottom-color: #DDD9CB;
    text-align: center;
    padding-top: 6px
}
.CalendarMonthRow .CalendarCell:first-child,
.CalendarYearRow .CalendarCell:first-child {
    width: 87px;
}
Avatar billede teamdev Novice
16. august 2012 - 19:18 #19
@Mireigi

Så nav virker på http://calendar.net46.net/default.htm
??
Avatar billede teamdev Novice
16. august 2012 - 19:20 #20
Altså når du prøver? i IE8/9 og FF ???
Avatar billede teamdev Novice
16. august 2012 - 19:36 #21
Hvis jeg åbner
http://calendar.net46.net/default.htm
i FireFox, så ser det såmænd ok ud, og navigationspilene til højre og venstre virker fint.
Til gengæld sker der ikke noget når jeg klikke på "ledige" datoer
Klikker jeg derimod på aktive datoer sender den mig til root.

Åbner jeg siden i IE 9 - så virker navigationen ikke og det er ikke muligt at klikke på datoerne overhovedet. Dertil er der det lille formaterings problem
Avatar billede mireigi Novice
16. august 2012 - 20:06 #22
Der mangler en doctype for at det vises rigtigt i IE 8/9.

Prøv at indsætte denne i toppen af HTML filen
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">[/div]

Ellers virker alting ja, hvis du altså retter det CSS til, som jeg skrev.

Ledige datoer gør ikke noget nej, det er også meningen med denne kalender. Den viser de dage der er "bookede", med link til dagens indhold.

Den kan nemt laves om til det modsatte, hvis du ønsker det.
Avatar billede teamdev Novice
16. august 2012 - 20:21 #23
@Mireigi,

Aaah mig der ikke har lavet ordentligt HTML :-)

Fik den til at spille :-) stort tak

Jeg kunne godt tænke mig at der ved optagede dage blev linket til en side, ved ledige dage til en anden side.

Kunne også godt tænke mig at få anvist hvor jeg eventuelt kan rette i links på navigationspilene
Avatar billede teamdev Novice
08. september 2012 - 01:46 #24
@Miregi

Har fundet ud af hvor i javascriptet urlen kaldes for aktive dage

Du skrev at det var nemt at bytte rundt på om der skulle være link på active eller inaktive dage.

Det synes jeg ikke helt jeg kan hitte rede i. Kan du assistere?
Avatar billede mireigi Novice
09. september 2012 - 20:31 #25
@teamdev: Jeg har ikke lige tid i aften, men jeg kigger lige nærmere på det en af de kommende dage.
Avatar billede teamdev Novice
10. september 2012 - 19:49 #26
@Mireigi

Det er bare helt fint.

Ville allerhelst at der var links på både aktive og inaktive dage.
Så kan jeg nemt styre resten

Tak for indsatsen indtil videre
Avatar billede teamdev Novice
23. september 2012 - 16:57 #27
@Mireigi - Har set lidt nærmere på javascriptet. I linje 95 er der også mulighed for at rette på link, dog har jeg ikke lige kunnet se en effekt, men det er måske ikke der der skal rettes, så inaktive dage får et aktivt link?
Avatar billede mireigi Novice
23. september 2012 - 23:54 #28
@teamdev: Nej det er ikke der. Jeg har haft meget travlt på det sidste, så har ikke lige haft tid til at kigge på det.

Næste uge skulle der gerne være tid til det.
Avatar billede teamdev Novice
24. september 2012 - 16:57 #29
@Mireigi - Lyder fint nok :-)

Som nævnt ville det være optimalt med links på både aktive og inaktive datoer, så kan jeg sende brugerne til en reservationsformular eller til en beskdside med - beklager reserveret pågældende dato el.lign.

Alternativt så 2 variante, en med links på aktive og en med links på inaktive
Avatar billede mireigi Novice
29. september 2012 - 21:15 #30
@teamdev: Så fik jeg rettet scriptet til. Det er dog utestet, men det bør virke efter hensigten.
http://pastebin.com/53Qegiwq

Du skal selv rette hvilken querystring du vil bruge på linje 95 og 148.
Avatar billede teamdev Novice
29. september 2012 - 21:55 #31
Det virker - delvist.

http://calendar.net46.net/default.htm

lige gyldigt hvilken dag du klikker på sender den datoen 2012-10-16 med ....
Avatar billede mireigi Novice
30. september 2012 - 04:54 #32
Hmm, det kigger jeg lige på.
Avatar billede mireigi Novice
07. oktober 2012 - 21:38 #33
@teamdev: Så er det rettet til:
http://pastebin.com/e7GuHbjr
Avatar billede teamdev Novice
08. oktober 2012 - 21:40 #34
@Mireigi - fantastisk.
Med ci og ci2 variabler kan jeg så styre hvad der skal kaldes på den næste side eller popup vinduet.

Tusinde tak for hjælpen. Hvis du vil have point så opretter jeg et sp. der peger på dette :-)
Avatar billede mireigi Novice
08. oktober 2012 - 23:04 #35
@teamdev: Ja, det kan du nemt gøre. Du kan også rette de to variabler til noget mere sigende, hvis du vil.

Du må gerne oprette et spm, det var noget af en omgang :)
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
Kurser inden for grundlæggende programmering

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