Avatar billede stufdbear Nybegynder
20. december 2004 - 18:46 Der er 9 kommentarer og
1 løsning

Sammenlign tid i et input

Hejsa exp'er

Lige endnu en hurtig en igen, jeg har 12 input felter hvor de 10 svare til en tid fra 15.00 til 24.00.
I det første input bliver indtastet et nummer hvor efter input nummer to bliver udfyldt med et navn. Har et script til det så navn og nummer ligger i et array.
Nu skal jeg så ha checket om der er andet end et tomt felt eller står "Udækket" i inputfelterne 15.00 og 16.00 samt 23.00 og 24.00 når en medarbejder íkke kommer før kl 17 eller går hjem kl 22, deres start tid er gemt i rs("starttid") og slut tid i rs("sluttid").
Input felterne med tid har samme navn som tidspunkterne.

StufdBear
Avatar billede thomas_yde Nybegynder
21. december 2004 - 09:24 #1
Jeg tror ikke helt jeg forstår, har du et inputfelt der hedder rs("starttid") og en der hedder rs("sluttid") ?  altså værdien af rs...
Avatar billede thomas_yde Nybegynder
21. december 2004 - 09:44 #2
noget alla dette måske?

<script>
function checkValues(){
    var starttid = "17.00";//input fra database rs("starttid")
    var sluttid = "22.00"; //input fra database rs("sluttid")
    var navn = ".00";
    var inpChanged = false;
    var error = "\n";
    for(i=15;i<=24;i++){
        if(parseInt(starttid.substring(0,2))>=17 && i <17){
            notValidInp = true;
        }
        if(parseInt(sluttid.substring(0,2))>=22 && i >22){
            notValidInp = true;
        }
        var inputnavn = ""+i+navn;
        var objInp = document.getElementsByName(inputnavn);
        if(notValidInp){
            if(objInp[0].value != "" && objInp[0].value != "Udækket"){
                error += "Felt: " +inputnavn +"\n";
                inpChanged = true;
            }
        }
        notValidInp = false;
    }
    if(inpChanged){
        alert('Et input felt der ikke er lovligt er blevet ændret'+error);
    }
}
</script>
<input type="button" value="click me!" onClick="checkValues()">
<input type="text" name="15.00" value="Udækket">
<input type="text" name="16.00" value="Udækket">
<input type="text" name="17.00" value="Udækket">
<input type="text" name="18.00" value="Udækket">
<input type="text" name="19.00" value="Udækket">
<input type="text" name="20.00" value="Udækket">
<input type="text" name="21.00" value="Udækket">
<input type="text" name="22.00" value="Udækket">
<input type="text" name="23.00" value="Udækket">
<input type="text" name="24.00" value="Udækket">
Avatar billede thomas_yde Nybegynder
21. december 2004 - 09:52 #3
det skal selvfølgelig være: if(parseInt(sluttid.substring(0,2))<=22 && i >22){
Avatar billede thomas_yde Nybegynder
21. december 2004 - 09:56 #4
<script>
function checkValues(){
    var starttid = "17.00";//input fra database rs("starttid")
    var sluttid = "22.00"; //input fra database rs("sluttid")
    var navn = ".00";
    var inpChanged = false;
    var error = "\n";
    for(i=15;i<=24;i++){
        if(i < parseInt(starttid.substring(0,2))){
            notValidInp = true;
        }
        if(i > parseInt(sluttid.substring(0,2))){
            notValidInp = true;
        }
        var inputnavn = ""+i+navn;
        var objInp = document.getElementsByName(inputnavn);
        if(notValidInp){
            if(objInp[0].value != "" && objInp[0].value != "Udækket"){
                error += "Felt: " +inputnavn +"\n";
                inpChanged = true;
            }
        }
        notValidInp = false;
    }
    if(inpChanged){
        alert('Et input felt der ikke er lovligt er blevet ændret'+error);
    }
}
</script>
<input type="button" value="click me!" onClick="checkValues()">
<input type="text" name="15.00" value="Udækket">
<input type="text" name="16.00" value="Udækket">
<input type="text" name="17.00" value="Udækket">
<input type="text" name="18.00" value="Udækket">
<input type="text" name="19.00" value="Udækket">
<input type="text" name="20.00" value="Udækket">
<input type="text" name="21.00" value="Udækket">
<input type="text" name="22.00" value="Udækket">
<input type="text" name="23.00" value="Udækket">
<input type="text" name="24.00" value="Udækket">
Avatar billede thomas_yde Nybegynder
22. december 2004 - 00:34 #5
virtuel tavshed?
Avatar billede stufdbear Nybegynder
22. december 2004 - 14:32 #6
Hey thomas yde

Beklager jeg ikke har svaret før og ikke har set på dine forslag, blev nemlig highjacked til en anden opgave så jeg håber jeg må vende tilbage senere.
For at uddybe lidt, jeg bruger det her script til at finde en medarbejder svarende til det nummer man indtaster.

<script type="text/javascript">
var medarbejderArray = new Array();
medarbejderArray["nr100"] = "Konan Lurbakken";
medarbejderArray["nr425"] = "Gentlemann Finn";
medarbejderArray["nr095"] = "Werner Lohals";

function findMedarbejder(e,nr,formFelt) {
    e = (typeof e == "undefined") ? event : e;
    k = (e.which) ? e.which : e.keyCode;
    if (k == 13) { // Hvis man trykker enter
        formFelt.value = (medarbejderArray["nr"+nr]) ? medarbejderArray["nr"+nr] : "Ukendt";
    formFelt.focus();
        return false;
    }
    if (k == 9) { // Hvis man trykker tab
        formFelt.value = (medarbejderArray["nr"+nr]) ? medarbejderArray["nr"+nr] : "Ukendt";
        return false;
    }
}
</script>

Det bliver så smidt ned i:

<form>
<input type="text" name="medarbejder_nr" onkeydown="return findMedarbejder(event,this.value,this.form.medarbejder);">
<input type="text" name="medarbejder">
<input type="text" name="15.00" value="Udækket">
<input type="text" name="16.00" value="Udækket">
<input type="text" name="17.00" value="Udækket">
<input type="text" name="18.00" value="Udækket">
<input type="text" name="19.00" value="Udækket">
<input type="text" name="20.00" value="Udækket">
<input type="text" name="21.00" value="Udækket">
<input type="text" name="22.00" value="Udækket">
<input type="text" name="23.00" value="Udækket">
<input type="text" name="24.00" value="Udækket">
</form>

Nu skal jeg så ha checket om der står andet end "Udækket" eller det er tomt i de forskellige input felter fra 15.00 til 18.00, det skal checkes mod rs("starttid") hvor der står hvornår folk møder og så fra 21.00 til 24.00 skal checkes mod rs("sluttid") hvor der står hvornår de går hjem. Det hele skal så checkes når man skriver medarbejder nummer i det første input felt.
Håber det hjalp lidt, jeg får nemlig nok ikke tid til at svare igen før efter jul :o(
Avatar billede stufdbear Nybegynder
24. juni 2005 - 13:16 #7
Lukker
Avatar billede thomas_yde Nybegynder
24. juni 2005 - 13:23 #8
ok, det hjalp ikke?
Avatar billede stufdbear Nybegynder
24. juni 2005 - 13:27 #9
Fik det ikke til at virke ordentlig og så blev det droppet til sidst.... så det var bare spild af tid for dig, sorry.
Avatar billede roenving Novice
24. juni 2005 - 15:38 #10
Men så har du vel principielt også fået det rigtige svar på dit spørgsmål her ?-)

-- og thomas_yde skal jo så have point, og ikke dig selv ?o]
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





White paper
TIDSBEGRÆNSET KAMPAGNE: Overvejer du at udskifte eller tilføje printere i din forretning? Vi kan tilbyde én eller flere maskiner GRATIS.