webForumDet fria alternativet

Decimaltecken . istället för ,

HTML & CSS

6 svar · 767 visningar · startad av lombiz

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

Jag har verkligen googlat och försökt lösa detta men hur...

ändrar jag så mitt webformulär accepterar "," som decimal tecken och inte "."

Jag har ett formulär i html som samlar in data och uträkningar sker i javascript.
Skriver man inte ett "," så blir det NaN med andra ord funkar inte.

SNÄLLA all hjälp uppskattas mycket.

Tack på förhand!

Medlem sedan nov. 20014 054 inlägg
#2

lombiz skrev:

Jag har verkligen googlat och försökt lösa detta men hur...

ändrar jag så mitt webformulär accepterar "," som decimal tecken och inte "."

Jag har ett formulär i html som samlar in data och uträkningar sker i javascript.
Skriver man inte ett "," så blir det NaN med andra ord funkar inte.

SNÄLLA all hjälp uppskattas mycket.

Tack på förhand!

du får sätta en event listner på formulärfältet som lyssnar på keypress, använd exempelvis jquery. (http://api.jquery.com/keypress/)

och tillåt endast siffror och . samt förmodligen - om värdena kan vara negativa.

Dvs trycker man ned , returnera false. osv.

Typ!

Medlem sedan mars 20104 inlägg
#3

Hej,

Tack så mycket för hjälpen men det låter nästan bissart att alla länder i världen som använder "." som decimaltecken måste göra hyfsat stora modifieringar i koden.

Är det verkligen det enda sättet?
Man ikan inte ställa in någon typ av charset UTF något eller liknande så?

Mvh,
Peter

Medlem sedan aug. 20039 340 inlägg
#4

Lägg på lämplig plats i koden så funkar det med vilket som.

talet=parseFloat(talet.replace(/,/g, '.'))

Variabeln talet förväntas innehålla det som står i input-rutan när den raden körs. Raden ersätter alla förekomster av , med .

Medlem sedan mars 20104 inlägg
#5

Tack !

Medlem sedan mars 20103 inlägg
#6

Förklara JS?

nitro2k01 skrev:

talet=parseFloat(talet.replace(/,/g, '.'))

Jag är ganska ny på JS, kan du förklara vad de två snedstrecken ("/") samt bokstaven g står för?

Medlem sedan juni 20014 290 inlägg
#7

/,/ = Sök efter allt som står mellan // tecknena, i detta fallet , tecknet,
g = globalt, utan g så stannar sökningen efter första träffen, med g så letar den igenom hela strängen.

Alltså: Sök efter alla förekomster av , tecknet och ersätt dessa med . tecknet.

Om det hadde varit perl så hadde man skrivit så här:

talet =~ s/,/./g

Googla efter reguljära uttryck så kan du lära dig mera.

263 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
130 ms — ändringar (db)