login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Controleafhandeling in comb. method=post

Offline Gobloun - 01/11/2005 10:32
Avatar van GoblounNieuw lid Dag allemaal,

bij het controleren van de invoervelden dmv een javascript functie wordt de pagina gewoon verzonden ook al is er niets ingevuld. De controle-alerts verschijnen gewoon op het scherm, maar als ik die heb weggeklikt wordt de pagina gewoon verzonden. Dat wil ik dus niet! De code is als volgt:

  1. <form action="toevoegen.php" method="post" enctype="multipart/form-data" onSubmit="return checkData()" name="invoer">


die van de submit button is gewoon standaard:
  1. <input type="Submit" value="Invoegen">


en een voorbeeldje van één van de alert die ik erin heb staan:
  1. if (document.invoer.aanvang.value == "") {correct = false; alert("Geef aub uw aanvangstijd in")}


Met ie niet zoiets als 'return false' geven als iets niet is ingevuld?

5 antwoorden

Gesponsorde links
Offline Thomas - 01/11/2005 10:41
Avatar van Thomas Moderator Als je functie checkData() false retourneert op het moment dat er iets niet (correct) is ingevuld, dan zou het formulier ook niet verstuurd moeten worden.
Offline Gobloun - 01/11/2005 11:28
Avatar van Gobloun Nieuw lid Dat heb ik gedaan. Maar wat ie nu doet is als alles is ingevuld het formulier juist niet versturen.

  1. {
  2. if (document.invoer.aanvang.value == "") {alert("Geef aub uw aanvangstijd in")}
  3. if (document.invoer.muziek.value == "") {alert("Geef aub uw muziek in.")}
  4. {
  5. return false;
  6. }
  7. return true;
  8. }
Offline haytjes - 01/11/2005 14:15
Avatar van haytjes Gouden medailleGouden medaille

JS gevorderde
  1. if (document.invoer.aanvang.value == "")
  2. {
  3. alert("Geef aub uw aanvangstijd in");
  4. return false;
  5. }
  6. if (document.invoer.muziek.value == "")
  7. {
  8. alert("Geef aub uw muziek in.");
  9. return false;
  10. }
  11. return true;
Offline Thomas - 01/11/2005 14:38
Avatar van Thomas Moderator Gebruik één return-statement:

check:
  1. function check(form) {
  2. var ret=true; // form initieel goed
  3.  
  4. if(form.elements['veld1'].value == "") {
  5. ret = false;
  6. window.alert("veld1 niet gevuld!");
  7. form.elements['veld1'].focus();
  8. }
  9.  
  10. // hier wordt "ret" toegevoegd om er voor te zorgen dat je niet
  11. // voor elk ingevuld veld een alert krijgt - op deze manier krijg
  12. // je alleen een alert voor het eerste lege veld; dit veld krijgt
  13. // tevens de focus
  14. if(ret && form.elements['veld2'].value == "") {
  15. ret = false;
  16. window.alert("veld2 niet gevuld!");
  17. form.elements['veld2'].focus();
  18. }
  19.  
  20. // et cetera
  21. // ...
  22.  
  23. return ret;
  24. }


form:
  1. <form action="whatever.xyz" method="post" onSubmit="return check(this)">
  2. ...
  3. </form>
Offline Gobloun - 01/11/2005 15:00
Avatar van Gobloun Nieuw lid Oké ik heb het nu werkend gemaakt, bedankt voor de tips!
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.222s