Ik heb 2 kleine problemen met jquery waar ik niet uit kom
Wie kan mij hierbij helpen.
Korte uitleg:
Bij het invoeren van het e-mail adres moet er na het verlaten van het invoerveld een ajax request naar de database plaatsen vinden om te kijken of het e-mail adres al bestaat in een bepaalde tabel.
Het request gedeelte gaat helemaal goed alleen de afhandling in het script hieronder loop ik op stuk.
script:
1. het script gaat al checken als je 3 karakters hebt in getoets, dit wil ik eigenlijk pas als je het invoerveld verlaat.Code:$(document).ready(function(){ $("#email").change(function() { var email = $("#email").val(); if(email.length >= 3) { $.ajax({ type: "POST", url: "check.php", data: "email=" + email, success: function(msg){ $("#status").ajaxComplete(function(event, request, settings){ if(msg != 'NO') { $("#pay").hide(); $(this).html('<input type="hidden" name="pay_account_id" value="' + msg + '" />'); } else { $("#pay").show('slow'); } }); } }); } else { $("#pay").hide(); } }); });
2. Het request returnt NO of een getal in msg dit gaat goed. Alleen als msg NO is moet hij de DIV pay zichbaar maken maar dat doet hij niet, en als msg een getal is dan moet er een hidden input field in de HTML gezet worden en dit doet hij ook niet.
Wie kan mij het duwtje in de goede richting gegeven.
- Hulp gevraagd met jquery show divs
-
18-05-2013, 10:56 #1
- Berichten
- 501
- Lid sinds
- 18 Jaar
Hulp gevraagd met jquery show divs
-
In de schijnwerper
-
18-05-2013, 18:13 #2
- Berichten
- 449
- Lid sinds
- 14 Jaar
Re: Hulp gevraagd met jquery show divs
Wat nu als je .change() niet op #email doet, maar op form? Dat zou het volgens mij moeten doen.
-
18-05-2013, 23:46 #3
- Berichten
- 16
- Lid sinds
- 12 Jaar
Re: Hulp gevraagd met jquery show divs
Change doet in principe precies wat het zegt. Tijdens een elke verandering (typen) wordt er dus een functie uitgevoerd. Neem eens een kijkje naar focusout() of blur(). Wellicht zul je hier veel meer aan hebben.
Succes!
-
20-05-2013, 11:42 #4
- Berichten
- 501
- Lid sinds
- 18 Jaar
Re: Hulp gevraagd met jquery show divs
Is inmiddels gelukt bedankt voor de antwoorden.
-
20-05-2013, 12:33 #5
- Berichten
- 16
- Lid sinds
- 12 Jaar
Re: Hulp gevraagd met jquery show divs
Goed om te horen! Hoe heb je het opgelost (als ik vragen mag)?
-
20-05-2013, 12:37 #6
- Berichten
- 501
- Lid sinds
- 18 Jaar
Re: Hulp gevraagd met jquery show divs
Dit
Code:$("#status").ajaxComplete(function(event, request, settings){
Code:$(document).ajaxComplete(function(event, request, settings){
Code:$("#status").html('<input type="hidden" name="pay_account_id" value="' + msg + '" />');
-
20-05-2013, 12:43 #7
- Berichten
- 16
- Lid sinds
- 12 Jaar
Re: Hulp gevraagd met jquery show divs
Ahh zo, dan begreep ik het verkeerd excuses. Je wilt het ID dat gereturned word als hidden input field gebruiken?
Ik zou sowieso je change() aanpassen naar blur() of focusout(). Interface-wise wil je pas een check doen wanneer een klant het invoerveld verlaat en volledig heeft ingevuld.
Met change zeg je in principe:
Na elke aanpassing(keyboard toets) moet je even kijken of value meer dan 3 karakters heeft.
-
20-05-2013, 12:57 #8
- Berichten
- 501
- Lid sinds
- 18 Jaar
Re: Hulp gevraagd met jquery show divs
Ja die aanpassing moet ik er nog uit halen maar dat is niet zo schokkend om te doen ging mij meer om het verstoppen van de div en/of dat hidden input veld er in te zetten daar liep ik op stuk.
Zal de komende tijd wel meer JS vragen hebben.
-
20-05-2013, 13:12 #9
- Berichten
- 16
- Lid sinds
- 12 Jaar
Re: Hulp gevraagd met jquery show divs
Ah oke oke, duidelijk.
Zou graag een keer een voorbeeld ervan willen zien, ben benieuwd!
-
24-05-2013, 09:03 #10
- Berichten
- 501
- Lid sinds
- 18 Jaar
Re: Hulp gevraagd met jquery show divs
In het verlengde van mijn vorige vraag loop ik nu tegen het volgende probleem aan:
Wat ik nog zou willen is het volgende:
Na een pagina refres en er zijn foutmeldingen door dat de invoer of er iets anders niet goed gegaan dan wordt het veld e-mail netjes ingevuld weer wat ik dan zou willen is dat het extra invoerveld ook gelijk zichtbaar word.
Code:$(document).ready(function(){ $("#email").blur(function() { var email = $("#email").val(); $.ajax({ type: "POST", url: "check.php", data: "email=" + email, success: function(msg){ $(document).ajaxComplete(function(event, request, settings){ if(msg == 'NO') { $("#status").html('<input type="hidden" name="pay_account_id" value="' + msg + '" />'); } else if(msg == 'exist') { $("#status").html('<div class="alert">Dit account bestaat al!</div>'); } else { $("#pay").show('fast'); } }); } }); }); $("#email").load(function(){ var email = $("#email").val(); if(email.length > 0) { $("#pay").show('fast'); } }); });
Iemand hier een goede suggestie voor?
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic