Avatar billede Gimhle Novice
04. december 2010 - 21:14 Der er 12 kommentarer og
1 løsning

Kan man bruge et script til at vedligeholdelse af data-år ?

Jeg har en formular hvori der er nogle rullemenuer til angivelse af Dag, Dato, Måned, År - Det eneste parameter der ændrer sig fra det ene år til det næste er "År". Jeg har hidtil "manuelt" været inde og rette årstallet i HTML-koden, men kan et indsat java-script gøre det for mig ?
Udover det aktuelle årstal (2010) har jeg 2 år længere frem (2011, 2012). På forhånd. Tak!
Avatar billede Gimhle Novice
04. december 2010 - 21:18 #1
Jeg sender lige rullemenu-scriptet:

<select size="1" name="Dag" id="dag" tabindex="3" onChange="skrivdato();">
    <option>_______</option>
    <option value="Mandag">Mandag</option>
    <option value="Tirsdag">Tirsdag</option>
    <option value="Onsdag">Onsdag</option>
    <option value="Torsdag">Torsdag</option>
    <option value="Fredag">Fredag</option>
    <option value="Lørdag">Lørdag</option>
    <option value="Søndag">Søndag</option>
    </select><select size="1" name="Dato" id="dato" tabindex="4" onChange="skrivdato();">
    <option>__</option>
    <option value="1">1.</option>
    <option value="2">2.</option>
    <option value="3">3.</option>
    <option value="4">4.</option>
    <option value="5">5.</option>
    <option value="6">6.</option>
    <option value="7">7.</option>
    <option value="8">8.</option>
    <option value="9">9.</option>
    <option value="10">10.</option>
    <option value="11">11.</option>
    <option value="12">12.</option>
    <option value="13">13.</option>
    <option value="14">14.</option>
    <option value="15">15.</option>
    <option value="16">16.</option>
    <option value="17">17.</option>
    <option value="18">18.</option>
    <option value="19">19.</option>
    <option value="20">20.</option>
    <option value="21">21.</option>
    <option value="22">22.</option>
    <option value="23">23.</option>
    <option value="24">24.</option>
    <option value="25">25.</option>
    <option value="26">26.</option>
    <option value="27">27.</option>
    <option value="28">28.</option>
    <option value="29">29.</option>
    <option value="30">30.</option>
    <option value="31">31.</option>
    </select><select size="1" name="Måned" id="mdr" tabindex="5" onChange="skrivdato();">
    <option>_________</option>
    <option value="Januar">Januar</option>
    <option value="Februar">Februar</option>
    <option value="Marts">Marts</option>
    <option value="April">April</option>
    <option value="Maj">Maj</option>
    <option value="Juni">Juni</option>
    <option value="Juli">Juli</option>
    <option value="August">August</option>
    <option value="September">September</option>
    <option value="Oktober">Oktober</option>
    <option value="November">November</option>
    <option value="December">December</option>
    </select><select size="1" name="År" id="aaret" tabindex="6" onChange="skrivdato();">
    <option>____</option>
    <option value="2010">2010</option>
    <option value="2011">2011</option>
    <option value="2012">2012</option>
    </select>
Avatar billede erikjacobsen Ekspert
04. december 2010 - 22:03 #2
Du kan aflæse datoen, og dermed året, på brugerens maskine med noget fra http://www.w3schools.com/js/js_obj_date.asp - men brugerens maskine behøver ikke være korrekt indstillet.

En anden mulighed er at sætte året ind fra webserveren.
Avatar billede Gimhle Novice
04. december 2010 - 22:24 #3
Hvordan sætter man årstallet ind fra webserveren. (evt. webhotel-serveren ?) Findes der et script ?
Er det så "kun" det aktuelle årstal der kan vælges i menuen eller også de efterfølgende 2 år ?
Avatar billede erikjacobsen Ekspert
04. december 2010 - 22:28 #4
Webserveren skal så køre noget, som fx. PHP - jeg ved ikke hvad du har. Her kan man  (utestet):

    <option value="<? print date("Y");?>"><? print date("Y");?></option>
    <option value="<? print date("Y")+1;?>"><? print date("Y")+1;?></option>
    <option value="<? print date("Y")+2;?>"><? print date("Y")+2;?></option>

Så skal desuden din javascript-fil være en .php fil og den skal afleveres med korrekt content-type.
Avatar billede erikjacobsen Ekspert
04. december 2010 - 22:31 #5
Og det sidste kan du se eksempel på her: http://techtites.com/2009/01/31/dynamic-javascript-with-php/
Avatar billede Gimhle Novice
04. december 2010 - 22:58 #6
Hej Erik!

Vil ovennævnte script løbende ændre årstallet i den rullemenu som kunden skal bruge for at vælge bestillings-dato

    </select><select size="1" name="År" id="aaret" tabindex="6" onChange="skrivdato();">
    <option>____</option>
    <option value="2010">2010</option>
    <option value="2011">2011</option>
    <option value="2012">2012</option>
    </select>
Avatar billede erikjacobsen Ekspert
04. december 2010 - 23:35 #7
Ja, hvis du gør det rigtigt, og du kan bruge PHP. Ellers skal du lige sige hvad du har adgang til.
Avatar billede majbom Novice
05. december 2010 - 10:43 #8
en indskydelse til eriks forslag:

så skal du også ændre filnavnet til .php i stedet for .htm(l)
Avatar billede olsensweb.dk Ekspert
05. december 2010 - 13:34 #9
Eriks løsning i #4 virker ikke altid da den anvender "short_open_tag", hvilke pr default er slået fra på mangen webservre
i php.ini  short_open_tag = Off

http://php.net/manual/en/ini.core.php
http://php.net/short-open-tag
[cut]
If you want to use PHP in combination with XML, you can disable this option in order to use <?xml
[/cut]
disse <? skal erstattes med <?php

jeg tror jeg ville lave det i en løkke istedet, den som Erik skriver i #4


<?php
print '<select size="1" id="aaret" name="År" tabindex="6" onchange="skrivdato();" >'; 
print '<option value = "0">_____</option>';
$year = date("Y");                       
for($i=0;$i<=2;$i++){       
    $tmp = $year+$i;
    print '<option value = "'.$tmp.'">'.$tmp.'</option>';
}
print '</select>';                           
?>               

erstatter

<select size="1" name="År" id="aaret" tabindex="6" onChange="skrivdato();">
    <option>____</option>
    <option value="2010">2010</option>
    <option value="2011">2011</option>
    <option value="2012">2012</option>
</select>


og som splazz skriver ændre extension til php hvis det er denne side http://www.go-morgenmusik.dk/o.htm
du har jo gjordt det på http://www.morgenmusikken.dk/o.php
Avatar billede Gimhle Novice
06. december 2010 - 23:20 #10
Tak for hjælpen!

Point til Ronols

hilsen
Peter
Avatar billede Gimhle Novice
06. december 2010 - 23:30 #11
Hej igen, Ronols!

Kan årstallet i mit validerings-script også vedligeholdes af et php-script i lighed med ovenstående ?

var aaretvalgt = aaret.selectedIndex + 2009  ;
// alert('Året valgt' + aaretvalgt );
Avatar billede Gimhle Novice
06. december 2010 - 23:57 #12
Hej igen igen!

Jeg bør lige nævne ar "årstallet" i validerings-scriptet skal være et år "bagud" i forhold til det aktuelle årstal.

hilsen
Peter
Avatar billede olsensweb.dk Ekspert
07. december 2010 - 00:11 #13
var aaretvalgt = aaret.selectedIndex + 2009  ;

erstattes af
var aaretvalgt = aaret.selectedIndex + <?php echo date("Y")-1; ?>;
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