Till Startsidan

Skaffa webbhotell?
Läs JavaScript.nu's jämförelse av webbhotell.
Med priser från
9 kr / månad.

Genom ett samarbete får alla JavaScript.nu-
besökare dessutom 100 kr i rabatt vid beställning.


Re: Datumkoll och veckodag

[ JavaScript.nu's Forum ] [ Viktigt om forumet ] [ JavaScript.nu's Startsida ]


Forum / Datumkoll och veckodag
 Hej igen Simon!

Nya bekymmer -;)

Jag har 2 inputar: Avresedatum och Hemkomstdatum
Jag kontrollerar båda med min datumkoll men med
2 olika functions: fveckodag_avresa(input) och
fveckodag_hemresa(input)

Kan man på ett enkelt sätt räkna ut hur många
dagar det är mellan de båda datumen?

Med vänliga hälsningar
Lars Lantz

 
"weekday" och "v" är lokala variabler så du kan inte komma åt dem, setFullYear's andra parameter förväntar sig ett noll-indexerat värde, inte ett ett-indexerat, och du escapar alla enkla citattecken (' -> \') utanför en sträng vilket är felaktigt. Prova att byta ut

var y=datum.substr(0,4);
var m=datum.substr(4,2);
var d=datum.substr(6,2);

mot

var y=datum.substr(0,4)-0;
var m=datum.substr(4,2)-1;
var d=datum.substr(6,2)-0;

(så konverteras de även till heltal), lägg till

document.getElementById('veckodag_avresa').value=weekday[v.getDay()];

(notera förresten ; -> .) innan return-satsen, och byt ut alla \' mot '.

I övrigt kan du förresten ta bort "else" eftersom du redan returnerar något i "if"-delen, och så borde du lägga till lite bättre validering av indata ("abcdefghi" accepteras tex som ett datum).

 
Hej igen!

Jag har lyckats snickra ihop en datumkoll som fungerar.
Efter det har jag försökt att ta fram veckodagen
och sätta den i en annan input men inte lyckats helt.

Vad gör jag för fel?

Funktionen är såhär:
Man knackar in ett datum i en input.
Sedan ska veckodagen skrivas in automatiskt i en
annan readonly input.

Här är scriptet:

<script type="text/javascript">
function fveckodag_avresa(input) {
var datum=input.replace(/-/g,\'\');
if(isNaN(datum)){ //Kollar så att det inte finns bokstäver
return \'\';
}
if(datum.length<8){ //Kollar om antal tecken är mindre än 8
return \'Skriv enl. ååååmmdd\';
} else {
var y=datum.substr(0,4);
var m=datum.substr(4,2);
var d=datum.substr(6,2);
var v = new Date();
v.setFullYear(y,m,d);
var weekday=new Array(7);
weekday[0]="Söndag";
weekday[1]="Måndag";
weekday[2]="Tisdag";
weekday[3]="Onsdag";
weekday[4]="Torsdag";
weekday[5]="Fredag";
weekday[6]="Lördag";
return y+\'-\'+m+\'-\'+d;
}
}
</script>


I datuminputen: onchange="this.value=fveckodag_avresa(this.value);document.getElementById(\'veckodag_avresa\');value=weekday[v.getDay()];"

Veckodagsinputen heter veckodag_avresa


Postat av Lars Lantz (81.231.227.56) den 18 Juni, 2010 kl 20:10:56.
Som svar på: Re: Datumkoll och veckodag postat av Simon den 14 Juni, 2010 kl 18:22:16.


Svar på inlägget:


Posta ett svar:

Namn:
E-Mail:
Rubrik:
Meddelande:
Ja tack, maila mig om andra svarar på detta inlägg.
Ja tack, maila mig om andra svarar på mitt inlägg.


[ JavaScript.nu's Forum ] [ Viktigt om forumet ] [ JavaScript.nu's Startsida ]






Copyright © Omid Rouhani 1997-2022; Alla rättigheter reserverade.
Guider: [ HTML guide ] - [ JavaScript guide ] - [ DHTML guide ] - [ Perl guide ] - [ Sitemap ]