Har en textbox som visar tiden som är nu ex. 10:14. Hej Stefan Rätt språk för detta borde vara JavaScript. Jag tror det är det senare alternativet jag är ute efter. Det är troligen för att när du klippa-klistrar från websidan så får du med en skräp-rad som ser ut så här: Eller klicka Svara vid mitt inlägg och kopiera koden från textarean. Men observera att koden är otestad, så det är osäkert om den fungerar.Auto komplettera tidsfält
Detta får jag fram genom <%response.write(FormatDateTime(now(),vbshorttime))%>
Hittade via en extern sida att man kunde autokomplettera detta fält om användaren vill ändra tiden själv. (reflekterade då inte hur bra det var och har därför inte kvar adressen till den sidan)
Jag ger ett par exempel:
Användaren skriver:
7 och när man tabbar vidare fylls automatiskt fältet med 07:00
13 och när man tabbar vidare fylls automatiskt fältet med 13:00
1510 och när man tabbar vidare fylls automatiskt fältet med 15:10
Detta skulle snabba upp tiden för användaren rätt mycket.
Kort sagt, hur löser man detta?
Osäker om detta forum är det rätta men jag provar......Sv: Auto komplettera tidsfält
Så här skulle du kunna göra:
<code>
<html>
<head>
<title></title>
<script>
function fixTime() {
var timeBox;
timeBox = document.all.Form1.time;
if ( timeBox.value.length <= 2 ) {
if ( timeBox.value > 23 ) {
alert("Du kan inte skriva timme över 23")
} else {
timeBox.value = timeBox.value + ":00";
}
} else if ( timeBox.value.length <= 4 ) {
// Här kan du lägga in fler tester för korrekta tider
timeBox.value = timeBox.value.substring( 0, timeBox.value.length-2 ) + ":" + timeBox.value.substring( timeBox.value.length-3, 2 );
}
}
</script>
</head>
<body>
<form id="Form1">
Tid<input id="time" onchange="fixTime();" value=<%response.write(FormatDateTime(now(),vbshorttime))%>>
Nåt annat<input value="Bara här för att kunna tabba">
</form>
</body>
</html>
</code>
// MvH BjörneSv: Auto komplettera tidsfält
Otestat:<script type="text/javascript">
function time_format(ctrl)
{
if( ! /^\d\d:\d\d$/.test(ctrl.value) ) {
var v = parseInt(ctrl.value);
var h, m;
if(v >= 100) {
h = floor(v / 100);
m = v % 100;
}
else {
h = v;
m = 0;
}
if(h < 10)
h = '0' + h;
if(m < 10)
m = '0' + m;
ctrl.value = h + ':' + m;
}
}
</script>
<input ... onblur="time_format(this)">
Sv:Auto komplettera tidsfält
Får scriptfel på sidan när markören lämnar textrutan.
Och när man är kass på javascript vet jag inte hur jag skall gå vidare.Sv: Auto komplettera tidsfält
<code>
if(h <...>
</code>
Ta bort den rader så skall det hoppa igång
// MvH BjörneSv:Auto komplettera tidsfält