08. august 2006 - 17:19Der er
12 kommentarer og 2 løsninger
valider klokken
Hejsa.
Jeg har et input felt hvor man kan skrive klokken ind. f.eks. 07.45 Jeg vil gerne kunne validere at det er en valid tid (at det er tal evt. med et tegn i mellem) og at det kun er
window.onload = function(){ var form = document.getElementById("form_navn"); form.onsubmit = function(){ var input = document.getElementById("input_felt"); var input_array = input.value.split("."); if(input.value.indexOf(".") != 0 && input_array.length == 2){ var timer = input_array[0]; if(timer.length == 2 && typeof parseInt(timer) == "number"){ timer = parseInt(timer); if(timer>=0 && timer<=23){ var minutter = input_array[1]; if(minutter.length == 2 && typeof parseInt(minutter) == "number"){ minutter = parseInt(minutter); if(minutter>=0 && minutter<=60){ if(minutter%15==0){ alert("Felt valideret"); return true; } else { alert("Minutterne er ikke ikke angivet med et interval på 15 minutter"); return false; } } else { alert("Minutterne ligger ikke i intervallet 0 - 60"); return false; } } else { alert("Minutternes længde er for lang eller er der indtastet bogstaver i feltet"); return false; } } else { alert("Timerne ligger ikke i intervallet 00 - 23"); return false; } } else { alert("Timernes længde er for lang eller er der indtastet bogstaver i feltet"); return false; } } } }
Har ik lige testet men tror den er god nok... Du skal angive formularens navn der hvor der står form_navn og angive dit input felts navn der hvor der står input_felt. (Faktisk er det jo ikke deres navn/name men deres id jeg mener)
Gem det ovenstående i en .js fil og så skal du bare i din <head> indsætte: <script type="text/javascript" src="jsfil.js"></script>
window.onload = function(){ var form = document.getElementById("form_navn"); form.onsubmit = function(){ var input = document.getElementById("input_felt"); var input_array = input.value.split("."); if(input.value.indexOf(".") != 0 && input_array.length == 2){ var timer = input_array[0]; if(timer.length == 2 && typeof parseInt(timer) == "number"){ timer = parseInt(timer); if(timer>=0 && timer<=23){ var minutter = input_array[1]; if(minutter.length == 2 && typeof parseInt(minutter) == "number"){ minutter = parseInt(minutter); if(minutter>=0 && minutter<=60){ if(minutter%15==0){ alert("Felt valideret"); return true; } else { alert("Minutterne er ikke ikke angivet med et interval på 15 minutter"); return false; } } else { alert("Minutterne ligger ikke i intervallet 0 - 60"); return false; } } else { alert("Minutternes længde er for lang eller er der indtastet bogstaver i feltet"); return false; } } else { alert("Timerne ligger ikke i intervallet 00 - 23"); return false; } } else { alert("Timernes længde er for lang eller er der indtastet bogstaver i feltet"); return false; } } else { alert("Der mangler et punktum eller der forekommer flere punktummer"); return false; } } }
hmm.. den siger at der mangler et punktum eller er for mange.
var form = document.getElementById("thing"); function check_start_time() { var input = document.getElementById("b_start_time"); var input_array = input.value.split(/[.-:,]/);
if(input.value.indexOf(".") != 0 && input_array.length == 2){ var timer = input_array[0]; if(timer.length == 2 && typeof parseInt(timer) == "number"){ timer = parseInt(timer); if(timer>=0 && timer<=23){ var minutter = input_array[1]; if(minutter.length == 2 && typeof parseInt(minutter) == "number"){ minutter = parseInt(minutter); if(minutter>=0 && minutter<=60){ minutter = minutter%15*15; input.value = timer + ":" + minutter; if(minutter%15==0){ alert("Felt valideret"); return true; } else { alert("Minutterne er ikke ikke angivet med et interval på 15 minutter"); return false; } } else { alert("Minutterne ligger ikke i intervallet 0 - 60"); return false; } } else { alert("Minutternes længde er for lang eller er der indtastet bogstaver i feltet"); return false; } } else { alert("Timerne ligger ikke i intervallet 00 - 23"); return false; } } else { alert("Timernes længde er for lang eller er der indtastet bogstaver i feltet"); return false; } } else { alert("Der mangler et punktum eller der forekommer flere punktummer"); return false; } }
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.