login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Form submit ondanks return false (ajax)

Offline zazkar - 03/08/2009 13:38
Avatar van zazkarNieuw lid Beste masters,

Ik ben een ajax formuliertje aan het maken maar loop net vast op de ajax validatie van een captcha. Indien de captcha niet correct is, wordt er 'false' gereturned, maar toch heb ik een submit. Hieronder een korte voorstelling van de code;

HTML
  1. [code=default]
  2. <form action="downloadCheck.php" onsubmit="return check();">
  3. <div id="captchaimage"><a href="<?php echo $_SERVER['PHP_SELF']; ?>" onclick="refreshimg();" title="Click to refresh image"><img src="images/image.php?<?php echo time(); ?>" width="132" height="46" alt="Captcha image" /></a></div>
  4. <label for="captcha">Enter the characters as seen on the image above (case insensitive):</label>
  5. <input type="text" maxlength="6" name="captcha" id="captcha" onblur="" />
  6. <input type="submit" name="submit" id="submit" value="Check" />
  7. </form>


Vervolgens de functie JAVASCRIPT check();
  1. [code=default]
  2. function check()
  3. {
  4. var submission = document.getElementById('captcha').value;
  5. var url = 'process.php?captcha=' + submission;
  6. //process.php post: 1 of 0; 1= captcha oke, 0 captcha niet oke
  7.  
  8. docheck(url, displaycheck);
  9. }
  10.  
  11.  
  12. function docheck(url, callback)
  13. {
  14. http.open('GET', url, true);
  15. http.onreadystatechange = displaycheck;
  16. http.send(null);
  17. }
  18.  
  19. function displaycheck()
  20. {
  21. if(http.readyState == 4)
  22. {
  23. var showcheck = http.responseText;
  24. if(showcheck == '1')
  25. {
  26. return true;
  27. }
  28. if(showcheck == '0')
  29. {
  30.  
  31. document.getElementById('captcha').style.background = '#ffbcbc';
  32.  
  33. return false;
  34.  
  35. }
  36.  
  37. }
  38. }


Iemand die mij kan helpen?

Alvast bedankt!
Yannick

3 antwoorden

Gesponsorde links
Offline valles10 - 03/08/2009 14:15
Avatar van valles10 HTML interesse je wilt gwn de submit buton onklibaar maken zolang catchpa niet juist is?
Offline avdg - 03/08/2009 16:30 (laatste wijziging 03/08/2009 18:09)
Avatar van avdg PHP gevorderde niet echt veilig in mijn ogen (was tegen valis10)

laat javascript beter de boel controleren, indien fout moet er een nieuwe captcha aangemaakt worden

edit: je mist denk ik de () op regel 8
Offline zazkar - 03/08/2009 17:38
Avatar van zazkar Nieuw lid
valles10 schreef:
je wilt gwn de submit buton onklibaar maken zolang catchpa niet juist is?


Yup, zolang javascript merkt dat de captcha niet oke is, mag het niet gepost worden.

avdg schreef:
niet echt veilig in mijn ogen

In de actiepagina wordt de captcha nogmaals door php gecontroleerd met succes, de captcha kan idd na foutieve invoer verandert worden, maar ik wil eerst dat die return false ook wel degelijk werkt en het formulier niet gesubmit wordt  

de check werkt trouwens perfect zolang het formulier niet gesubmit wordt. Heb het een tijdje gecheckt met return false manueel toe te voegen aan het onsubmit event v/h formulier:

  1. [code=default]
  2. <form action="downloadCheck.php" onsubmit="return check(); return false;">



Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.17s