login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Input controleren

Offline Frederic - 23/04/2006 15:45 (laatste wijziging 23/04/2006 15:55)
Avatar van FredericPHP ver gevorderde Kan iemand me zeggen waarom ik geen foutmelding krijg als de velden leeg zijn en ik op submit duw?
Er gebeurt gewoon niets...

  1. function ControleerGegevens(veld1, veld2, formulier){
  2. if ((document.getElementById(formulier).veld1.value == "") || (document.getElementById(formulier).veld2.value == "")) {
  3. alert('Om u aan te melden moet u een '+ veld1 +' en een '+ veld2 +' invullen.');
  4. getElementById(formulier).veld1.focus();
  5. getElementById(formulier).veld1.select();
  6. }
  7. else {
  8. document.getElementById(formulier).onsubmit();
  9. }
  10. }


  1. <form id="aanmelden" action="" method="post">
  2. <table style="width: 100%">
  3. <tr>
  4. <td style="text-align: right;width: 160px;">Gebruikersnaam:</td>
  5. <td style="text-align: left;"><input class="inputveld" name="gebruikersnaam" type="text" /></td>
  6. </tr>
  7. <tr>
  8. <td style="text-align: right;">Wachtwoord:</td>
  9. <td style="text-align: left;"><input class="inputveld" name="wachtwoord" type="password" /></td>
  10. </tr>
  11. <tr>
  12. <td colspan="2" style="height: 18px;"><!--LEEG--></td>
  13. </tr>
  14. <tr>
  15. <td><!--LEEG--></td>
  16. <td style="text-align: left;"><input class="aanmeldknop" type="submit" value="Aanmelden &raquo;" onClick="ControleerGegevens('gebruikersnaam', 'wachtwoord', 'aanmelden')" /></td>
  17. </tr>
  18. </table>
  19. </form>


Bedankt!

12 antwoorden

Gesponsorde links
Offline Richard - 23/04/2006 15:54
Avatar van Richard Crew algemeen
  1. function ControleerGegevens('veld1', 'veld2', 'formulier'){


dit moet sowieso dit zijn:

  1. function ControleerGegevens(veld1, veld2, formulier){


verder zou ik het niet weten, maar dat is iig fout;)
Offline haytjes - 23/04/2006 15:57
Avatar van haytjes Gouden medailleGouden medaille

JS gevorderde
  1. <td style="text-align: left;"><input class="aanmeldknop" type="button" value="Aanmelden &raquo;" onClick="ControleerGegevens('gebruikersnaam', 'wachtwoord', 'aanmelden')" /></td>


en zo?
Offline Frederic - 23/04/2006 16:11
Avatar van Frederic PHP ver gevorderde Nope 
Offline Richard - 23/04/2006 16:15
Avatar van Richard Crew algemeen het is eigelijk best simpel, ik zie t nu pas, maar je submit een form, dan controleer je, maar het formulier is toch al gesubmit;) misschien met onSubmit op te lossen of iets dergelijks;)
Offline Frederic - 23/04/2006 16:20
Avatar van Frederic PHP ver gevorderde Dat doet het ook niet 
Offline haytjes - 23/04/2006 16:30 (laatste wijziging 23/04/2006 16:32)
Avatar van haytjes Gouden medailleGouden medaille

JS gevorderde
er zaten verschillende fouten in:
Citaat:
- <input type='submit'> => <input type='button'>
// hierdoor verstuurt hij het niet direct, maar doet het maar als jij het zegt, via submit.
- document.getElementById(formulier).veld1 => document.getElementById(formulier).gebruikersnaam
- document.getElementById(formulier).veld2 => document.getElementById(formulier).wachtwoord
- document.getElementById(formulier).onsubmit(); =>
document.getElementById(formulier).submit();

  1. <script>
  2. function ControleerGegevens(veld1, veld2, formulier){
  3. if ((document.getElementById(formulier).gebruikersnaam.value == "") || (document.getElementById(formulier).wachtwoord.value == "")) {
  4. alert('Om u aan te melden moet u een '+ veld1 +' en een '+ veld2 +' invullen.');
  5. getElementById(formulier).gebruikersnaam.focus();
  6. getElementById(formulier).gebruikersnaam.select();
  7. }
  8. else {
  9. document.getElementById(formulier).submit();
  10. }
  11. }
  12. </script>
  13. <form id="aanmelden" action="" method="post">
  14. <table style="width: 100%">
  15. <tr>
  16. <td style="text-align: right;width: 160px;">Gebruikersnaam:</td>
  17. <td style="text-align: left;"><input class="inputveld" name="gebruikersnaam" type="text" /></td>
  18. </tr>
  19. <tr>
  20. <td style="text-align: right;">Wachtwoord:</td>
  21. <td style="text-align: left;"><input class="inputveld" name="wachtwoord" type="password" /></td>
  22. </tr>
  23. <tr>
  24. <td colspan="2" style="height: 18px;"><!--LEEG--></td>
  25. </tr>
  26. <tr>
  27. <td><!--LEEG--></td>
  28. <td style="text-align: left;"><input class="aanmeldknop" type="button" value="Aanmelden &raquo;" onClick="ControleerGegevens('gebruikersnaam', 'wachtwoord', 'aanmelden')" /></td>
  29. </tr>
  30. </table>
  31. </form>
Offline Frederic - 23/04/2006 16:34
Avatar van Frederic PHP ver gevorderde
  1. function ControleerGegevens(veld1, veld2, formulier){
  2. if ((document.getElementById(formulier).gebruikersnaam.value == "") || (document.getElementById(formulier).wachtwoord.value == "")) {
  3. alert('Om u aan te melden moet u een '+ veld1 +' en een '+ veld2 +' invullen.');
  4. getElementById(formulier).gebruikersnaam.focus();
  5. getElementById(formulier).gebruikersnaam.select();
  6. }
  7. else {
  8. document.getElementById(formulier).submit();
  9. }
  10. }

Zo had ik hem eerst, maar ik zou de functie graag ook gebruiken indien bvb het veld gebruikersnaam hernoemd wordt naar e-mailadres ofzo, daarom dat er veld1 stond..
Offline haytjes - 23/04/2006 16:38 (laatste wijziging 23/04/2006 16:39)
Avatar van haytjes Gouden medailleGouden medaille

JS gevorderde
  1. function ControleerGegevens(veld1, veld2, formulier){
  2. if ((document.getElementById(formulier)[veld1].value == "") || (document.getElementById(formulier)[veld2].value == "")) {
  3. alert('Om u aan te melden moet u een '+ veld1 +' en een '+ veld2 +' invullen.');
  4. getElementById(formulier)[veld1].focus();
  5. getElementById(formulier)[veld1].select();
  6. }
  7. else {
  8. document.getElementById(formulier).submit();
  9. }
  10. }
Offline Frederic - 24/04/2006 21:35
Avatar van Frederic PHP ver gevorderde
  1. <form id="aanmelden" action="" method="post">
  2. <table style="width: 100%; ">
  3. <tr>
  4. <td style="text-align: right; width: 160px;">Gebruikersnaam:</td>
  5. <td style="text-align: left;"><input class="inputveld" id="gebruikersnaam" name="gebruikersnaam" type="text" /></td>
  6. </tr>
  7. <tr>
  8. <td style="text-align: right;">Wachtwoord:</td>
  9. <td style="text-align: left;"><input class="inputveld" name="wachtwoord" type="password" /></td>
  10. </tr>
  11. <tr>
  12. <td colspan="2" style="height: 16px;"><!--LEEG--></td>
  13. </tr>
  14. <tr>
  15. <td><!--LEEG--></td>
  16. <td style="text-align: left;"><input class="aanmeldknop" type="submit" value="Aanmelden &raquo;" onclick="ControleerGegevens('gebruikersnaam', 'wachtwoord', 'aanmelden')" /></td>
  17. </tr>
  18. </table>
  19. </form>

  1. function ControleerGegevens(veld1, veld2, formulier){
  2. if ((document.getElementById(formulier)[veld1].value == "") || (document.getElementById(formulier)[veld2].value == "")) {
  3. alert('Gelieve een '+ veld1 +' en een '+ veld2 +' op te geven.');
  4. getElementById(formulier)[veld1].focus();
  5. getElementById(formulier)[veld1].select();
  6. }
  7. else {
  8. document.getElementById(formulier).submit();
  9. }
  10. }

Dit heb ik nu, de foutmelding komt goed, maar de javascript console van FF geeft dit weer als fout:

Citaat:
Fout: getElementById is not defined
Bronbestand: ...******...../javascript.js
Regel: 4
Offline Simon - 24/04/2006 21:54
Avatar van Simon PHP expert zet es een punt ertussen
Citaat:
document.getElementById(formulier)[veld1].value

-->

document.getElementById(formulier).[veld1].value
Offline Frederic - 24/04/2006 22:04
Avatar van Frederic PHP ver gevorderde Dan krijg ik:

Citaat:
Fout: missing name after . operator
Bronbestand: ..*******......./javascript.js
Regel: 4, Kolom: 28
Broncode:
getElementById(formulier).[veld1].focus();
Offline haytjes - 24/04/2006 23:33 (laatste wijziging 24/04/2006 23:34)
Avatar van haytjes Gouden medailleGouden medaille

JS gevorderde
nee, dat was de fout niet:

  1. function ControleerGegevens(veld1, veld2, formulier){
  2. if ((document.getElementById(formulier)[veld1].value == "") || (document.getElementById(formulier)[veld2].value == "")) {
  3. alert('Gelieve een '+ veld1 +' en een '+ veld2 +' op te geven.');
  4. document.getElementById(formulier)[veld1].focus();
  5. document.getElementById(formulier)[veld1].select();
  6. }
  7. else {
  8. document.getElementById(formulier).submit();
  9. }
  10. }


er stond:
getElementById(formulier)[veld1].focus();
getElementById(formulier)[veld1].select();
daar moest er nog een 'document.' voor
dus:
document.getElementById(formulier)[veld1].focus();
document.getElementById(formulier)[veld1].select();

die fout staat er al van in jouw eerste script in en 'k heb erover gekeken.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.283s