Avatar billede ravnborg Nybegynder
22. februar 2006 - 20:29 Der er 3 kommentarer og
1 løsning

plus sek. ved klik.

Jeg har fundet et lille script hvor man kan lægge 1 til et tal i et formfelt, ved at klikke på et billed.

Kan man omskrive så man lægger 1 sek til i stedet for?

Jeg har sat value til at være 5:10. Oprindeligt var value tom.


<form name=fo1>
<table width=200 cellspacing=0 cellpadding=0>
<tr>
<td align=right><input type=text name=f1 size=3 value="5:10"></td>
<td><a><img src=op.jpg onclick=fo1.f1.value++></a><br><a><img src=ned.jpg onclick=fo1.f1.value--></a></td>
</tr>
</table>
</form>


vh
Ravnborg
Avatar billede tjp Mester
22. februar 2006 - 23:34 #1
Følgende ændre op og ned med et sekund - dog sker der intet hvis man prøver at komme under 0:00, og der afrundes ikke til timer, når 59:59 overstiges:

<html>
<head>
<script>
function addOneSecond(minSek){
  var re1 = new RegExp("^([0-9]{1,2}):([0-9]{2})$","i");
  var arr;
  if (arr = re1.exec(minSek)){
    var min = parseFloat(arr[1]);
    var sek = parseFloat(arr[2]);
    if (sek < 59)
      sek += 1;
    else {
      min += 1;
      sek = 0
    }
    return min+":"+(sek<10?"0"+sek:sek);
  }
}
function minusOneSecond(minSek){
  var re1 = new RegExp("^([0-9]{1,2}):([0-9]{2})$","i");
  var arr;
  if (arr = re1.exec(minSek)){
    var min = parseFloat(arr[1]);
    var sek = parseFloat(arr[2]);
    if (sek > 0)
      sek -= 1;
    else {
      if (min > 0){
        min -= 1;
        sek = 59;
      }
      else {
        ;
      }
    }
    return min+":"+(sek<10?"0"+sek:sek);
  }
}
</script>
</head>
<body>
<form name=fo1>
<table width=200 cellspacing=0 cellpadding=0>
<tr>
<td align=right><input type=text name=f1 size=3 value="5:10"></td>
<td><a><img src=op.jpg onclick="fo1.f1.value = addOneSecond(fo1.f1.value);"></a><br><a><img src=ned.jpg onclick="fo1.f1.value = minusOneSecond(fo1.f1.value);"></a></td>
</tr>
</table>
</form>
</body>
</html>
Avatar billede ravnborg Nybegynder
23. februar 2006 - 09:36 #2
Hej tjp

Det ser fint ud. Jeg havde dog håbet på at jeg kunne overskue scriptet, så jeg selv kunne tilføje knapper som lægge minutter til. Men her kommer mine begrænset evner indenfor javascript til kort.

Jeg har fordoblet point tallet, og håber at du vil hjælpe mig med et sæt knapper der lægger et minut til/trækker fra. så formen kommer til at se ud i retningen af dette:

<form name=fo1>
<table width=200 cellspacing=0 cellpadding=0>
<tr>
<td align=right>
    <input type=text name=f1 size=3 value="5:10">
</td>
<td>
    <a><img src=op.jpg onclick="fo1.f1.value = addOneSecond(fo1.f1.value);"></a><br>
    <a><img src=ned.jpg onclick="fo1.f1.value = minusOneSecond(fo1.f1.value);"></a>
</td>
<td>
    <a><img src=op.jpg onclick="fo1.f1.value = addOnemin(fo1.f1.value);"></a><br>
    <a><img src=ned.jpg onclick="fo1.f1.value = minusOnemin(fo1.f1.value);"></a>
</td>
</tr>
</table>
</form>



vh
Ravnborg
Avatar billede ravnborg Nybegynder
26. februar 2006 - 14:23 #3
Hej tjp

Ved hjælp af en kop kaffe og en dyb indånding, fik jeg overblik i scriptet.
Jeg har nu rettet det til med minut-knapper.
Det var nu ikke så svært, du havde lavet scriptet ret overskuelig.
Det er fedt at få en følelse af at man kommet et skridt videre med at forstå javascript.

vh
Ravnborg
Avatar billede tjp Mester
26. februar 2006 - 20:17 #4
Velbekomme og tak for point. Godt du selv kom videre og selvgjort er jo velgjort som man siger. ;-)
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