anonīms Posted December 31, 2009 Report Posted December 31, 2009 (edited) EDIT: Lieta labota. biju piemirsis pēc function pielikt ); ( }); ) Tagad cita problēma. http://paste.php.lv/8a720c4b4e3846d8ac953c88ea4b7bd3 Viss ok, ja lietotājvārds ir aizņemts, bet, ja lietotājvārds ir brīvs un vajadzētu notikt submitošanai, tad tiek atgriezsts return false;. Ja pareizi sapratu, tad vainīgais atrodas 42.rindā pec paste koda, bet tiklīdz es to 42 rindu izdzēšu tā automātiski (vienalga - ir vai nav aizņemts leitotājvārds) notiek submitošana. Kā to varētu atrisināt? Paldies. Edited December 31, 2009 by anonīms Quote
2easy Posted December 31, 2009 Report Posted December 31, 2009 (edited) no programmēšanas viedokļa viss notiek pareizi, jo šie requesti tiek izsaukti asinhroni. pēdējā pārbaude vnm izdos false. tā funkcija/closure, kas ir nodefinēta tajā pārbaudē function(data){...}, reāli tiks izpildīta vēlāk, kad pienāks atbilde no servera. anyway 35. un 39. rindiņai nav jēgas, jo tās izpildās citā kontekstā (vsp citā funkcijā, nevis tajā pārbaudē) ir 2 varianti: 1) veic šo pārbaudi tikai uz servera (anyway tev viss vēlreiz tāpat būs jāpārbauda uz servera) 2) izpildi sinhronu pieprasījumu https://developer.mozilla.org/En/Using_XMLHttpRequest#Synchronous_and_asynchronous_requests aaa un ir vēl 3. varians: čeko lietotājvārdu, nevis formas onsubmit brīdī, bet gan onkeyup eventā, kamēr useris vēl to raksta. sāc čekot, kad useris jau ir ierakstījis minimālo garumu (parasti tie ir kādi 3 burti) šajā gadījumā asinhronās pārbaudes ir tieši laikā! ;) Edited December 31, 2009 by 2easy Quote
anonīms Posted December 31, 2009 Author Report Posted December 31, 2009 Thx. Skaidrs man ir par var req = new XMLHttpRequest(); req.open("GET","/public/scripts/UsernameTaken.php?lietotajvards="+form.lietotajvards.value, true); req.send(null); bet ko ar to iesākt tālāk gan nē. Varētu parādīt kādu piemēru? Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.