15. august 2003 - 12:12Der er
21 kommentarer og 1 løsning
dato i datofelt
Jeg har et readonly text felt med en dato i. Er det muligt at lave et javascript, der lægger en dag til datoen når man trykker + og trækker en fra når man trykker -?
Den kræver at tallene i datoen står som de gør, men ellers skulle den bare du !-)
<html><head><title></title> <script language="javascript" type="text/javascript"> function changeDate(n,fld){ v = fld.value; st = new Date(+v.substring(6),(+v.substring(3,5)-1),+v.substring(0,2)); ny = new Date(st.getTime()+n*24*60*60*1000); d = (ny.getDate()>9)?ny.getDate():"0"+ny.getDate(); m = (ny.getMonth()>8)?ny.getMonth()+1:"0"+(ny.getMonth()+1);
Hej igen, tak for det, men egentlig mente jeg at man trykkede på + og - tasten på keyboardet, når man stod i dato-feltet (som skal være readonly, ikke disabled).
Og keypress skal jeg nok finde -- og på elementet, for vi skal jo ikke ahve datoen til at ændre sig, hvis brugeren laver en bindestreg i et eller andet tekst-felt !-)
Nej for jeg har en knap ved siden af som er en slags dato-vælger. Man behøver ikke at markere noget i dato-feltet, bare man står i det når man tabber gennem felterne i formularen. Det gør det lidt nemmere hvis man kan skifte dato uden at bruge dato-vælgeren hver gang.
<script language="javascript" type="text/javascript"> function changeDate(fld,e){ var pressedKey; if (document.all) { pressedKey = e.keyCode; } else if (document.layers||document.getElementById) { pressedKey = e.which; } var pressedCharacter = String.fromCharCode(pressedKey); alert(pressedCharacter); if(pressedCharacter=="+")n=1; else if(pressedCharacter=="-")n=-1; else return; v = fld.value; st = new Date(+v.substring(6),(+v.substring(3,5)-1),+v.substring(0,2)); ny = new Date(st.getTime()+n*24*60*60*1000); d = (ny.getDate()>9)?ny.getDate():"0"+ny.getDate(); m = (ny.getMonth()>8)?ny.getMonth()+1:"0"+(ny.getMonth()+1);
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.