webForumDet fria alternativet
Logga in / Bli medlem

aktiv textruta

JavaScript

8 svar · 159 visningar · startad av KalsongCesar

Medlem sedan mars 2001339 inlägg
Frågan#1

Kan jag på ngt sätt lägga in tecknet "-" efter att användaren har matat in 4 st tecken i en textruta. Jag såg ett script som gjorde att man hoppade till en ny ruta efter 4 tecken så det borde ju inte vara omöjligt att fixa in ett tecken..
Tacksam för hjälp

Medlem sedan maj 200010 687 inlägg
#2

Jag är ingen JavaScriptsexpert, men så här skulle man ju kunna skiva. :)

<script language="JavaScript" type="text/javascript">
<!--
function addLine() {
	var f = document.frm;
	if (f.foo.value.length == 4) {
		f.foo.value = f.foo.value + "-";
	}
}
//-->
</script>

<form name="frm">
<input type="text" name="foo" onkeyup="addLine();">
</form>
Medlem sedan maj 200010 687 inlägg
#3

Förresten, byta ut onkeyup mot onkeypress. Då blir det rätt även om personen håller inne en tangent. :)

Medlem sedan mars 2001339 inlägg
#4

Tack för hjälpen.. jag hade ett som var liknande, men med din hjälp såg jag itt lilla fel.
Tack å bock

Medlem sedan maj 200010 687 inlägg
#5

Funderade på en sak. Mitt script krånglar till det lite. Försöker man radera text så stannar det vid "-". Kan man på något sätt kolla om det är "bakåtsudd" tangenten som trycks ner? Någon som vet?

Medlem sedan mars 2001339 inlägg
#6

hehe.. mitt med. Men jag har en fördrjöjning på 200 milisekunder som gör det möjligt att sudda om man är snabb som f**

=)

Medlem sedan maj 200010 687 inlägg
#7

Inte särskilt bra lösning för då fungerar ju inte det där med att man kan hålla inne en tangent. :l

Medlem sedan mars 2001339 inlägg
#8

Dä ä sant, då måste vi lösa det med bakåtknappen på nge vis. Om du lyckas så får du gärna dela med dig.
Jag använder detta till en datumformaterare, då kan jag kolla tex att månden inte överstiger värdet 12.. och om så e så hoppar den tebax två steg så att man får mata in igen.

if (formular.prata.value.substring(5,7)> 12){
document.formular.prata.value = formular.prata.value.substring(0,5)
}

man kanske kan kolla om ascivärdet av suddknappen stämmer och på så sätt tilldela värdet på textrutan till vad det var och ett mindre.

jag är för dålig på javascript för att veta vad som går och inte går.

Medlem sedan mars 2001339 inlägg
#9

Japp.. då var det fixat, fråga mig inte hur men så här blev det.

function dformat() {
if (formular.prata.value.length == 4) {
	document.formular.prata.value = formular.prata.value.substring(0,4) + '-';
}
if (formular.prata.value.length == 7) {
	if (formular.prata.value.substring(5,7) > 12) {
document.formular.prata.value = formular.prata.value.substring(0,5)
}
else{
document.formular.prata.value = formular.prata.value.substring(0,7) + '-';
}
}
if (formular.prata.value.length >= 10) 
{
if (formular.prata.value.substring(8,10) > 31) {
document.formular.prata.value = formular.prata.value.substring(0,8)
}
else
{
formular.prata.value = formular.prata.value.substring(0,10)
}
}
}

Det fungerar att sudda.
anropar med onkeypress.

263 ms totalt · 4 externa anrop · v20260731065814-full.df76c93f
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)