Hogyan lehet készíteni ilyet?
Olyat szeretnék csinálni, hogy van egy input és ha az inputba írnak akkor minden egyes karakter beírásánál lefut egy javascript funkció.
Egy olyan regisztráció rendszerhez kellene aminél nem kell mindig ráfrissíteni az oldalra ahhoz, hogy megnézze foglalt-e a felhasználónév.
Ezt, hogy lehetne megoldani?
Én úgy képzeltem el, hogy az input-ra rátenni egy timert ami minden másodpercnél kikéri az inputba lévő szöveget majd a szöveget lefuttatni mysql-ban, hogy talál e ilyen felhasználónevet de szerintem van ettől jobb megoldás is mint, hogy lefut egy timer másodpercenként.
Teljesen szar ötlet.
Egyrészt a karakerek beírása meg a másodpercenkénti frissítés semmilyen szinkronban nincs egymással, másrészt teljesen felesleges minden másodpercben lekérdezni a szervert és az adatbázist.
Amikor elhagyja a usernév input mezőt, bőven elég akkor ellenőrizni.
És esetleg van valami normálisabb mód rá?
Ami teljes szinkronban van a beütött karakterekkel és a lekérdezéssel mert az email mezőt meglehetne attól csinálni ott nem fut le annyi lekérdezés.
<p>
<input type="text" value="" name="username" onkeyup="doTextKeyUp(this);">
<span id="outputMessage"></span>
</p>
<script>
var prevValue = "";
function doTextKeyUp(a) {
if (a.value.length > 0) {
if (prevValue != a.value) {
prevValue != a.value;
if (isUsernameExists(a.value)) {
document.getElementById("outputMessage").innerHTML = "Username already exists.";
} else {
document.getElementById("outputMessage").innerHTML = "Username is available.";
}
}
} else {
document.getElementById("outputMessage").innerHTML = "";
}
}
// Returns true if username already exists.
function isUsernameExists(username) {
// Ide jön az AJAX lekérdezés
return Math.round(Math.random()); // Teszt
}
</script>
Fölösleges karakrerenként ellenőrizni, nem tudom másképp elmondani.
Csak a szervert terheled vele nagyon fölöslegesen, bármifelé hasznos funkcionalitás nélkül.
#6
Nem értem, miért jársz fel erre az oldalra.
A kérdező azt szeretné, hogy a kérdésére válaszoljanak, ez az egész weboldal lényege. Nem tiltakozást és ellenzést. Ha a válaszodban megjegyzed, hogy szerinted ez miért nem előnyös, rendben van, de a kérdező már másodjára adja a tudomásodra, hogy ő bizony ezt szeretné megoldani. Ne ragaszkodj ilyen agresszíven a saját véleményedhez. Nem a te dolgod. Ha nem akarsz a kérdésre válaszolni, ne kommentelj. (Mert, amit írsz, nem válasz, hanem komment.)
Ráadásul ezt bármi empátia nélkül teszed. Valószínűleg ez okozza a viszonylag alacsony értékelésed.
Bocsánat az off-ért, de már sokadjára veszem észre, hogy a kérdezőkkel kötekedsz. Ha zavar, hogy az emberek máshogy is megoldhatnak 1-1 dolgot, ne használd ezt az oldalt.
Egyébként, sok helyen találkoztam már ilyen regisztrációs rendszerrel és semmi probléma nem volt egyikkel sem. Valóban igaz, hogy ha nem csak a boxból való kikattintás esetén frissül az oldal, hanem karakter beírása esetén, gyorsabban és felhasználóbarátabb módon lehet például megfelelő felhasználónevet találni. Sok helyzetben segített volna már...
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!