Avatar billede aurum Nybegynder
26. marts 2007 - 11:40 Der er 13 kommentarer og
1 løsning

Validering af 2 felter i formular

Jeg har tidligere oprettet dette spørgsmål:
http://www.eksperten.dk/spm/769254

Nu virker min validering bare ikke igen.

Quantity bliver valideret fint nok
Sender bliver ikke valideret

<!-- start - validation of field 'sender' + 'quantity'-->
<script type="text/javascript">
function valider(f){
  if(f.Quantity.value == "" || +f.Quantity.value < 50){
    alert("Please notice that minimum order quantity is 50 kg");
    f.Quantity.focus();
    return false;
  }
  if(f.Sender.value.match(/@/g).length!=1 || !f.Sender.value.match(/^.*@(\w+\.)+[a-z]{2,6}$/i)){
    alert("Please enter a valid email address containing minimum a @ and a dot");
    f.Sender.focus();
    return false;
  }
  return true;
}
</script>

Be' om hjælp! :-)
Avatar billede michael_stim Ekspert
26. marts 2007 - 11:46 #1
if(f.Quantity.value == "" || +f.Quantity.value < 50){

Skal det + tegn være der
Avatar billede roenving Novice
26. marts 2007 - 11:49 #2
+ er en unary oprator, der konverterer til et tal ...

-- hvilke værdier accepteres i Sender ?-)
Avatar billede michael_stim Ekspert
26. marts 2007 - 11:50 #3
Så blev man så meget klogere ;o)
Avatar billede roenving Novice
26. marts 2007 - 12:02 #4
Prøv lige denne:

<script type="text/javascript">
var tal1 = "10", tal2 = "32";
alert(tal1 + tal2);
alert(+tal1 + tal2);
alert(+tal1 + +tal2);
</script>
Avatar billede aurum Nybegynder
26. marts 2007 - 12:07 #5
Værdierne i Sender skal være, så emailadressen opfylder de krav, der er til en emailadresse (jeg formoder det er mindst et @ og et punktum)
Avatar billede michael_stim Ekspert
26. marts 2007 - 12:08 #6
Smart nok. Vidste ikke der eksisterede sådan en operator.
Avatar billede roenving Novice
26. marts 2007 - 12:20 #7
Nu gør den det så lige en anelse bedre, nemlig præcis eet @, derefter mindst eet tegn, så et punktum, og derefter mellem 2 og 6 bostaver ...
Avatar billede aurum Nybegynder
26. marts 2007 - 12:55 #8
Jeg tror ikke helt, jeg forstår: Hvor skal jeg sætte det ind henne?
Avatar billede roenving Novice
26. marts 2007 - 13:04 #9
Den email-validering, der er i ovenstående gør det, jeg beskrev 12:20:34 ...

-- og kaldet til valideringen skal som tidligere beskrevet sættes i onsubmit på formularen:

<form ... onsubmit="return valider(this);">
Avatar billede aurum Nybegynder
26. marts 2007 - 13:13 #10
Når jeg loader siden efter at have sendt det ind fra kl. 12:02:39, så får jeg en dialogboks, hvor der står '1032'. Den får jeg 2 gange. Og 3. gang får jeg en hvor der står '42'.
Og den validerer ikke emailadressen.

Pt ser min javascript i head-tagsne sådan ud:

<script type="text/javascript">
function valider(f){
  if(f.Quantity.value == "" || +f.Quantity.value < 50){
    alert("Please notice that minimum order quantity is 50 kg");
    f.Quantity.focus();
    return false;
  }
  if(f.Sender.value.match(/@/g).length!=1 || !f.Sender.value.match(/^.*@(\w+\.)+[a-z]{2,6}$/i)){
    alert("Please enter a valid email address containing minimum a @ and a dot");
    f.Sender.focus();
    return false;
  }
  return true;
}
</script>

<script type="text/javascript">
var tal1 = "10", tal2 = "32";
alert(tal1 + tal2);
alert(+tal1 + tal2);
alert(+tal1 + +tal2);
</script>

Og det hele bliver kaldt via
<form... onsubmit="return valider(this);">
Avatar billede roenving Novice
26. marts 2007 - 13:25 #11
Argh, den 12:02 var til michaels spørgsmål (og skulle bare illustrere +-tegnets betydning !-)
Avatar billede aurum Nybegynder
26. marts 2007 - 13:26 #12
Nååååå, jeg kunne jo ikke vide, at I havde overtaget min tråd ;-)
Avatar billede aurum Nybegynder
26. marts 2007 - 14:55 #13
Ingen bud?
Avatar billede aurum Nybegynder
17. april 2007 - 09:37 #14
Lukker sp
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