login  Naam:   Wachtwoord: 
Registreer je!
 Forum

function probleem

Offline Moby - 21/06/2008 00:19
Avatar van MobyNieuw lid Hallo,

Ik ben bezig met een mini-projectje en nu had ik mijn formulier willen valideren met javascript/ajax.

Ik heb voor iedere handeling een functie gemaakt dus even concreet:
* functie om nickname te checken
* functie om te checken of de nickname nog beschikbaar is
* functie om e-mailadres te checken
* functie om te checken of het e-mailadres nog beschikbaar is
* functie om t...

Volledige snippet:
http://pastebin.parentnode.org/32203

  1. function CheckDublicateNickname()
  2. {
  3. var http = createREQ();
  4. var divReturn = $('return');
  5. http.onreadystatechange = function() {
  6. if(http.readyState == 4) {
  7. if (http.responseText == $('nickname2').value) {
  8. divReturn.innerHTML = "<p class='reg_error'>Nickname bezet!</p>";
  9. document.nicknameSrc.src = "img/ico.cross.png";
  10. $('nickname2').focus();
  11. return false;
  12. } else if (http.responseText == "No Result") {
  13. divReturn.innerHTML = "";
  14. document.nicknameSrc.src = "img/ico.accept.png";
  15. return true;
  16. } else if ($('nickname2').value == '') {
  17. divReturn.innerHTML = "<p class='reg_error'>Vul een nickname in!</p>";
  18. document.nicknameSrc.src = "img/ico.cross.png";
  19. $('nickname2').focus();
  20. return false;
  21. }
  22. }
  23. }
  24. http.open("POST", "php/modules/CheckDublicateNickname.php");
  25. http.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
  26. http.send("nickname=" + $('nickname2').value)
  27. }


Dus... Nu wil ik een functie die alle velden nog eens dubbel checkt

  1. function CheckRegistrationForm()
  2. {
  3. var msg = "Volgende velden zijn niet of onjuist ingevuld: \n\n";
  4. var error = false;
  5. var nickname = $('nickname2').value;
  6. var email = $('email').value;
  7. var captcha = $('security_code').value;
  8.  
  9. if (nickname == "") {
  10. msg += "- Nickname \n";
  11. var error = true;
  12. }
  13. if (email == "") {
  14. msg += "- E-mailadres \n";
  15. var error = true;
  16. }
  17. if (captcha == "") {
  18. msg +="- Controle \n";
  19. var error = true;
  20. }
  21. if (error) {
  22. alert(msg); return false;
  23. }
  24. if (CheckDublicateNickname() == true) {
  25. alert("test");
  26. }
  27. }


Nu wanneer CheckDublicateNickname() true is, moet hij gegevens via AJAX (die ook in een functie gestoken worden) uitvoeren anders niet.

Dit is nu het probleem: CheckDublicateNickname() == true werkt helemaal niet terwijl ik telkens in iedere if een return true of return false meegeef.

Ik hoop dat iemand me kan helpen?

Alvast bedankt,
M0by

1 antwoord

Gesponsorde links
Offline Rik - 21/06/2008 11:41
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
Waarschijnlijk geeft je functie null terug. Dat komt omdat je niet in de functie CheckDublicateNickname (Du[b]licate?) een boolean returned, maar in de functie waarin je een readystatechange afhandelt.

In plaats van daar iets te returnen kan je daar een variabele setten. Omdat variabelen in javascript global zijn, kun je die in je CheckRegistrationForm functie weer uitlezen.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.285s