Jeg var lige lidt fræk og stjal det meste af din kode ronols, og ryddede lige en lille smule op i den og brugte det trick jeg beskrev tidligere.
Den leapyear funktion du har lavet, tager ikke højde for at hver 4. år som er delelig med 100 ikke er skudår, medmindre de også er delelige med 400 altså:
år 1900 er delelig med 100, men ikke med 400, ergo er det ikke et skudår.
år 2000 er delelig med 100 og 400 ergo er de skudår
år 2100, er som 1900 heller ikke delelig med 400, så det er heller ikke skudår.
<!DOCTYPE html>
<html>
<head>
<title>Fancy dato picker!</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript">
function JusterDage(){
var fragment = document.createDocumentFragment();
var daglisteelm = document.getElementById("dato");
var aarvalue = document.getElementById("Aar").value;
var md = document.getElementById("maaned").value;
var dage = 32 - new Date(aarvalue, md, 32).getDate();
var select = document.createElement('select');
select.setAttribute("id", "dato");
for( var i = 1; i <= dage; i++ ) {
var option = document.createElement('option');
option.setAttribute("value",i);
var text = document.createTextNode(i);
option.appendChild(text);
select.appendChild(option);
}
fragment.appendChild(select);
daglisteelm.parentNode.replaceChild(fragment, daglisteelm);
}
</script>
</head>
<body>
<form method="post" action="#">
<script type="text/javascript">
var d=new Date();
var mdNavn = [ "Januar", "Februar", "Marts", "April", "Maj", "Juni", "Juli", "August", "September", "Oktober", "November", "December" ];
var year = d.getFullYear();
var html = '<select size="1" id="Aar" name="Aar" onchange="JusterDage()">';
for(var i=1900; i<= year; i++){
html += '<option value="'+i+'">'+i+'</option>';
}
html += '</select><select size="1" name="maaned" id ="maaned" onchange="JusterDage()">';
for(var i=0; i<= 11; i++){
html += '<option value="'+i+'">'+mdNavn[i]+'</option>';
}
html += '</select>';
document.write(html);
</script>
<select size="1" id="dato" name="dato">
<option value="0">0</option>
</select>
</form>
</body>
</html>