Avatar billede weiland Nybegynder
11. april 2002 - 15:36 Der er 9 kommentarer og
1 løsning

Kalde 2 funktioner i OnSubmit

Jeg bruger 2 funktioner til at validere nedenstående formular. De virker fint hver for sig, men når jeg vil kalde dem begge, så virker kun 'den første'.

Glæder mig allerede til løsningen!

<html>
<head>

<SCRIPT TYPE="text/javascript" LANGUAGE=JAVASCRIPT>
<!--

Count = 0

function checkCheckBoxes(hvad) {

  if (Count>=1){
  return true
  }else{
  alert('Vælg mindst én konference.')
  return false
  }
}
//-->

<!--
   
    function IsDataValid()
    {

        if (document.TheForm.Navn.value=='')
        {
            alert("Angiv venligst navn.");
            document.TheForm.Navn.focus();
            return false;
        }
        else { return true; }

    }


//-->

</script>


<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#FFFFFF" text="#000000">


<form action="default.asp?Action=InsertDB" method="post" name=TheForm OnSubmit="return checkCheckBoxes();IsDataValid(); ">

<input type=checkbox name=KonferenceID Value=1 onClick='(this.checked)?Count++:Count--'>
  Konference 1 <br>
  <input type=checkbox name=KonferenceID Value=2 onClick='(this.checked)?Count++:Count--'>
  Konference 2 <br>
  <br>
  Navn
  <input type="text" name="Navn" size="45" value="">
  <br>
  <input type="submit" value="Tilmeld" name="submit">

</form>
       
</body>
</html>
Avatar billede mrr Nybegynder
11. april 2002 - 15:52 #1
Prøv at benytte en function checkForm til at kalde de to andre:

function checkForm() {

  var isValid = true;
  if (!checkCheckBoxes()) isValid = false;
  if (!IsDataValid()) isValid = false;
  return isValid;
}
Avatar billede mrr Nybegynder
11. april 2002 - 15:53 #2
Det var selvfølgelige et svar!
Avatar billede mrr Nybegynder
11. april 2002 - 15:54 #3
... Jeg sidder og sover!
Avatar billede weiland Nybegynder
11. april 2002 - 15:59 #4
Jeg har prøvet at bruge din løsning. Men den virker desværre ikke. Måske har jeg forstået svaret forkert?

Se selv den nye kode:

<html>
<head>

<SCRIPT TYPE="text/javascript" LANGUAGE=JAVASCRIPT>
<!--

Count = 0

function checkCheckBoxes(hvad) {

  if (Count>=1){
  return true
  }else{
  alert('Vælg mindst én konference.')
  return false
  }
}
//-->

<!--
   
    function IsDataValid()
    {

        if (document.TheForm.Navn.value=='')
        {
            alert("Angiv venligst navn.");
            document.TheForm.Navn.focus();
            return false;
        }
        else { return true; }

    }


//-->

<!--
        function checkForm() {
       
          var isValid = true;
          if (!checkCheckBoxes()) isValid = false;
          if (!IsDataValid()) isValid = false;
          return isValid;
        }
//-->
</script>


<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#FFFFFF" text="#000000">


<form action="default.asp?Action=InsertDB" method="post" name=TheForm OnSubmit="return checkForm();">

<input type=checkbox name=KonferenceID Value=1 onClick='(this.checked)?Count++:Count--'>
  Konference 1 <br>
  <input type=checkbox name=KonferenceID Value=2 onClick='(this.checked)?Count++:Count--'>
  Konference 2 <br>
  <br>
  Navn
  <input type="text" name="Navn" size="45" value="">
  <br>
  <input type="submit" value="Tilmeld" name="submit">

</form>
       
</body>
</html>
Avatar billede mrr Nybegynder
11. april 2002 - 16:06 #5
hvad er det der ikke virker? jeg er ikke helt sikker på et jeg har forstået dit problem rigtigt.
Avatar billede yellow Nybegynder
11. april 2002 - 16:47 #6
Din første kode er ok, du skal bare rette lidt i din onsubmit, så du får den rigtige returværdi ud fra begge valideringsfunktioner:

onsubmit='return(checkCheckBoxes() && IsDataValid());'
Avatar billede weiland Nybegynder
11. april 2002 - 18:40 #7
Til Mrr - jeg tror, at min testning var fejlbehæftet, for at sige det officielt. Det virkede da godt nok!

Til yellow - Din løsning er særdeles elegant!! Tak for det.

Kan I ikke lige give et svar igen, så jeg kan give jer jeres velfortjente point?
Avatar billede yellow Nybegynder
12. april 2002 - 08:38 #8
Afviger point, mrr kom jo med en fungerende løsning først :)
Avatar billede weiland Nybegynder
09. juni 2003 - 17:32 #9
lukker
Avatar billede weiland Nybegynder
09. juni 2003 - 17:32 #10
lukker
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