webForumDet fria alternativet

Endast siffror i input

JavaScript

12 svar · 552 visningar · startad av ironhead

Medlem sedan mars 20011 346 inlägg
Frågan#1

Hoy!

Jag hittade detta fina skript av Jojoxx:

<input type="text" onKeyup="re=/(\d+)/; re.exec(this.value); this.value=RegExp.$1;">

Som endast tillåter siffror i inputrutan, alla fösök att lägga dit en bokstav raderas direkt.
Kan man ändra detta skript så att istället för att radera bokstaven lägga dit en etta (1) ?

Medlem sedan juni 20004 308 inlägg
#2

Allting som inte är en siffra ändras till 1;

<input type="text" onkeyup="this.value=this.value.replace(/\D/g,'1');">
Medlem sedan mars 20011 346 inlägg
#3

very very nice!
Tack så hemskt mycket :)

Medlem sedan mars 20011 346 inlägg
#4

Kan man lägga till så att man INTE kan skriva siffran 0 (noll) också?
Jag fattar inte "/\D/g" är det RegExp?

Medlem sedan dec. 20025 483 inlägg
#5

Ja, det är ett reguljärt uttryck.

<input type="text" onkeyup="this.value=this.value.replace(/\D|0/g,'1');">

:)

Medlem sedan mars 20011 346 inlägg
#6

1000-tack!
Funkade utmärkt :)

Medlem sedan mars 20011 346 inlägg
#7

Går det mha detta script göra så att det aldrig kan bli tomt i fältet även om man tar bort siffran.

Jag har nämligen gjort en kundkorg som uppdateras med antal, och klickar man på sidan om inputrutan uppdateras totalpriset automatiskt.

Om jag då avmarkerar antal och klickar på sidan om får jag fel i uträkningen eftersom antal blir <null>

Medlem sedan juni 200032 967 inlägg
#8

och klickar man på sidan om inputrutan uppdateras totalpriset automatiskt.

Hur ser det scriptet ut? In med en liten modifiering där, så går det att se till att uträkningen använder 0 istället.

Medlem sedan mars 20011 346 inlägg
#9

Joo..kanske det...

<form method="post" name="form1" action="upd.asp" target="_self">
<input type="text" maxlength="3" onkeyup="this.value=this.value.replace(/\D/g,'1');" name="Ant" value="<%=Ant%>" size="3" onblur="submit();">
</form>

Upd.asp hämtar bara värdena i fälten och skickar tillbaka användaren till varukorgen

Medlem sedan juni 200032 967 inlägg
#10

Jaha, du postar alltså iväg formuläret onblur. Säg det då. ;)

Kolla på asp-sidan?

If Len(Request.Form("Ant")) = 0 then intAntal = 0 else intAntal = Cint(Request.Form("Ant"))
Medlem sedan mars 20011 346 inlägg
#11

Jag gör juh såhär:


arrAnt=Split(Request.Form("Ant"),",")

 for i=0 to UBound(arrAnt)
  Response.Write "arrAnt=" & arrAnt(i) & "<br>"
 next

...men får "Felaktigt matrisindex: '0' " även om jag försöker med en koll på arrAnt(i)

Medlem sedan juni 200032 967 inlägg
#12
If len(Request.Form("Ant")) = 0 then arrAnt = Array(0) else arrAnt=Split(Request.Form("Ant"),",")
Medlem sedan mars 20011 346 inlägg
#13

Det funkar bra om jag bara har 1 vara i korgen, man har jag flera får jag samma fel...

red: Äh! Hade gjort fel.....funkar nu...tack @nders! :birp

269 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)