Avatar billede jmc Nybegynder
01. september 2002 - 20:02 Der er 13 kommentarer og
1 løsning

checke for antal tal i en form

Hvordan checker man for om et fem cifret tal er skrevet i et formfelt?

Jeg benytter dette script til validering (Dreamweaver):

function MM_validateForm() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' skal indeholde en email adresse.\n';
      } else if (test!='R') {
        if (isNaN(val)) errors+='- '+nm+' skal indeholde et nummer.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (val<min || max<val) errors+='- '+nm+' skal indeholde et nummer imellem '+min+' og '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' skal udfyldes.\n'; }
  } if (errors) alert('Følgende fejl opstod:\n'+errors);
  document.MM_returnValue = (errors == '');
}
Avatar billede Slettet bruger
01. september 2002 - 20:07 #1
Hvilket felt skal testet?
Avatar billede Slettet bruger
01. september 2002 - 20:07 #2
testet = testes
Avatar billede danielks Nybegynder
01. september 2002 - 20:08 #3
<?
$filecontent = file("list.txt");
$filecontent = implode("\n",$filecontent);
$filecontent = explode(",",$filecontent);
$antal = 0;
foreach ($filecontent as $email) {
  if (strstr($email,"56")) { // dit tal der skal tælles 56
    $antal++;
  }
}

?>
Avatar billede danielks Nybegynder
01. september 2002 - 20:09 #4
og så skal du selvfølgelig skrive:

echo "$antal";
Avatar billede lillebror Nybegynder
01. september 2002 - 20:10 #5
var cifre = document.getElementById("password").value.length
if(cifre < 5){
alert("der skal mindst være 5 tegn i dit kodeord");
} else {
alert("fedt der var " + cifre + " i dit kodeord");
}
Avatar billede lillebror Nybegynder
01. september 2002 - 20:10 #6
danielks, det der ligner mere PHP end det ligner javascript
Avatar billede lillebror Nybegynder
01. september 2002 - 20:11 #7
jmc med  det jeg har skrevet antager jeg at det felt du vil teste er skrevet f.eks. sådan her
<input type="text" name="password" id="password" value="">
Avatar billede jmc Nybegynder
01. september 2002 - 20:21 #8
phoenixv:
Med ovenstående script valideres ethvert ønsket felt sådan:

<form action=tilmeld.asp method=post onSubmit="MM_validateForm('Navn','','R','Stilling','','R','Firma','','R','Adresse','','R','Postnummer/By','','R','Email','','RisEmail','Telefonnummer','','RisNum','Besked','','R');return document.MM_returnValue">

Spørgsmålet er hvor elegant danielks eller lillebror script kan implementeres?
Avatar billede danielks Nybegynder
01. september 2002 - 20:24 #9
mit virker fint... bruger det selv...
Avatar billede Slettet bruger
01. september 2002 - 20:35 #10
danielks>> Jamen, det er jo server-side, ikke client-side.
lillebror>> Husk, at der også skal testes for tal!

Jeg hader Dreamweaver-kode. Og jeg har ikke lyst til at glo mig blind på at finde et lille hul, hvor jeg kan putte kodestumpen ind, så det bliver på lidt andre præmisser:

<script>
function valider(felt) {
if (!isNaN(felt) && felt.value.length == 5)
return true;
alert("Blablablabla!!!");
return false;
}
</script>

Din form-kode:

<form action="tilmeld.asp" method="post" onSubmit="if (!valider(this.feltNavn)) return false; MM_validateForm('Navn','','R','Stilling','','R','Firma','','R','Adresse','','R','Postnummer/By','','R','Email','','RisEmail','Telefonnummer','','RisNum','Besked','','R'); return document.MM_returnValue;">

Det er ganske vist ikke smukt, men det skulle gerne virke!

P.S. Husk at skifte "feltNavn" ud med navnet på dit felt!
Avatar billede jmc Nybegynder
01. september 2002 - 20:42 #11
ok tak, jeg prøver...
Avatar billede Slettet bruger
01. september 2002 - 20:45 #12
Nu hvor jeg alligevel tog mig lidt tid til at kigge på DW-koden, kan jeg se, at den har en inRange-funktion, så dette burde egentlig virke:

<form action="tilmeld.asp" method="post" onSubmit="MM_validateForm('feltNavn','','RinRange10000:99999','Navn','','R','Stilling','','R','Firma','','R','Adresse','','R','Postnummer/By','','R','Email','','RisEmail','Telefonnummer','','RisNum','Besked','','R');return document.MM_returnValue">

Husk stadig at skifte "feltNavn" ud med navnet på dit felt!
Avatar billede jmc Nybegynder
01. september 2002 - 22:32 #13
Yeaarrh man, måske er Dreamweaver koden ikke så tosset endda, men eller tak for hjælpen phoenixv. Jeg mener du har fortjent points, og håber andre ligeså. ;o)
Avatar billede Slettet bruger
02. september 2002 - 14:40 #14
Idéen i DW-kode er fin nok, men det er skrevet på den mest tossede og inkonsekvente måde. Den er i hvert fald ikke beregnet til fejlfinding!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester