[JS] Check op komma

Pagina: 1
Acties:

  • Davidoff402
  • Registratie: Oktober 2000
  • Laatst online: 24-03-2022

Davidoff402

The more you tweak....

Topicstarter
Hieronder het script. Deze checkt of de waarden die je intikt een nummer is of niet.
Nu is het probleem dat als je een komma intikt (bijvoorbeeld 4,5) een popup scherm naar voren krijgt. Hoe bouw ik snel een uitzondering in zodat het niet uitmaakt of er een komma/punt instaat? Zal retesimpel zijn, maar lukt niet. :|


for(i=0;i<document.frmAddProject.HoursSpent.value.length;++i)
if(document.frmAddProject.HoursSpent.value.charAt(i) < "0"
|| document.frmAddProject.HoursSpent.value.charAt(i) > "9" )
chkZ = -1;
if(chkZ == -1){
alert("Hours must be a number");
document.frmAddProject.HoursSpent.focus();
}
else {
document.frmAddProject.submit();
}

Sempron 3800+ 8k9a7i


Verwijderd

if(document.frmAddProject.HoursSpent.value.charAt(i) < "0"
|| document.frmAddProject.HoursSpent.value.charAt(i) > "9" && document.frmAddProject.HoursSpent.value.charAt(i) != "," && document.frmAddProject.HoursSpent.value.charAt(i) != "." )

Zoiets?

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

P&W -> W&G

over de schutting ermee :)

Doet iets met Cloud (MS/IBM)


Verwijderd

beter dit er nog bovenzetten:
c = document.frmAddProject.HoursSpent.value.charAt(i)
en dan c gebruiken, swat korter/leesbaarder.

  • Davidoff402
  • Registratie: Oktober 2000
  • Laatst online: 24-03-2022

Davidoff402

The more you tweak....

Topicstarter
dat dacht ik dus ook maar hij kijkt niet naar die komma of punt :(

function GoSubmit(){
Quot()
var chkZ = 1;
var charv = 1;
if (document.frmAddProject.ProjectDisplayPage.value == "") {
document.frmAddProject.ProjectDisplayPage.value = 0;}
if (document.frmAddProject.HoursSpent.value == "") {

alert("Hours are missing !")
}
else {
for(i=0;i<document.frmAddProject.HoursSpent.value.length;++i)
if(document.frmAddProject.HoursSpent.value.charAt(i) < "0"
|| document.frmAddProject.HoursSpent.value.charAt(i) > "9" && document.frmAddProject.HoursSpent.value.charAt(i) != "," && document.frmAddProject.HoursSpent.value.charAt(i) != "." )
{ chkZ = -1;}


if(chkZ == -1){
alert("Hours must be a number");
document.frmAddProject.HoursSpent.focus();
}
else {
document.frmAddProject.submit();
}
}//if 0

Sempron 3800+ 8k9a7i


  • Davidoff402
  • Registratie: Oktober 2000
  • Laatst online: 24-03-2022

Davidoff402

The more you tweak....

Topicstarter
Sorry jongens... ben een beetje dom geweest. Was 2 haakjes vergeten |:( . Is nu opgelost.

Sempron 3800+ 8k9a7i


  • edie
  • Registratie: Februari 2002
  • Laatst online: 22:43
Wat dacht je van parseInt() of parseFloat()?

"In America, consumption equals jobs. In these days, banks aren't lending us the money we need to buy the things we don't need to create the jobs we need to pay back the loans we can't afford." - Stephen Colbert


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:07

crisp

Devver

Pixelated

Persoonlijk zou ik vantevoren een eventuele komma al vervangen door een punt, voor het geval ik er later nog mee wil gaan rekenen. Als ik dan weet dat de invoer numeriek is kan ik zonder gevaar een parseFloat() toepassen.
Aan de naamgeving hier (HoursSpent) neem ik aan dat we hier over uren of delen van uren praten; het lijkt me dan logischer om een vakje 'uren' en een vakje 'minuten' te maken, en alleen hele getallen toe te staan. Om voor een kwartier 0.25 te moeten gaan invoeren is niet voor iedereen even logisch...

Intentionally left blank

Pagina: 1