[Mootools] reset ajax form

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

W W

W W

07/05/2009 01:46:00
Quote Anchor link
Hey,

Ik ben een login aan het maken dmv ajax. Login kun je hier vinden (wachtwoord vergeten klikken en op verzenden klikken. Daarna krijg je een link om het form terug te krijgen.)

Het probleem is, zodra ik 1 keer de ajax request do, en het form reset, dan krijg ik geen resultaat meer van de ajax request. Ik heb al geprobeerd dmv $clear het 'cache' te clearen, maar het heeft geen resultaat.

Wat $vars zodat er geen misverstanden komen
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php //kleurtjes
var SliderEmail = new Fx.Slide('forgotpass-div', {mode: 'horizontal'});
                
                var
username = $('customernumber');
                var
password = $('password');
                var
email = $('email');
                var
resetForgotPass = $('reset-forgotpass');
                //var resetLogin =
?>


Ajax request
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php //kleurtjes
                $('forgotPass').addEvent('submit', function(e) {
                    e.stop();
                    $('formContainer-forgotpass').style.display = 'none';
                    var
log = $('forgotpass-container').addClass('ajax-loading');
                    this.set('send', {onComplete: function(response) {
                        log.removeClass('ajax-loading');
                        log.set('html', response);
                        resetForgotPass.style.display = 'block';
                    }});

                    this.send();
                });

?>


Functie om het formpje terug te krijgen
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php //kleurtjes
resetForgotPass.addEvent('click', function(e){
                    $('forgotpass-container').style.display = 'none';
                    $('forgotpass-container').empty();
                    resetForgotPass.style.display = 'none';
                    $('formContainer-forgotpass').style.display = 'block';
                });

?>


De html
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php //kleurtjes
<div class="forgotpass-input" id="forgotpass-div">
                            <
form id="forgotPass" action="ajax/auth.ajax.php" method="post">
                                    <
div id="formContainer-forgotpass">
                                        <
input type="text" name="email" id="email" value="E-mail adres" />
                                        <
div class="login-submit">
                                            <
input type="submit" name="btnForgotPass" value="Verzend" />
                                        <
/div>
                                    <
/div>
                                <
div id="forgotpass-container">
                                <
/div>
                                <
div style="margin-top: 15px; display: none;" id="reset-forgotpass">[<a href="javascript:void(0);">Probeer het opnieuw</a>]</div>
                            <
/form>
                        <
/div>
?>


Iemand ervaring hiermee?
Gewijzigd op 01/01/1970 01:00:00 door W W
 
PHP hulp

PHP hulp

17/04/2024 01:01:07
 
Crispijn -

Crispijn -

07/05/2009 08:14:00
Quote Anchor link
$('forgotpass-container').empty();

Wat wil je precies hier mee bereiken? Het lijkt mij het resetten van je veld waarden toch? Misschien dat je de velden specifiek moet aanroepen of maak er anders van:

$('forgotpass-container').innerHTML = '';
 
W W

W W

07/05/2009 10:02:00
Quote Anchor link
Ja daarmee maak ik die div leeg van de html die er dan instaat. .empty(); werkt daar toch gewoon voor?
 
Crispijn -

Crispijn -

07/05/2009 10:10:00
Quote Anchor link
Ja, klopt eigenlijk wel.

Maar ik zie nu ook dat je een divje hebt met hetzelfde id

<div id="forgotpass-container">

die empty() zou voor een text veld moeten werken. Hier haal je volgens mij wat dingen door elkaar...

edit: typo
Gewijzigd op 01/01/1970 01:00:00 door Crispijn -
 
W W

W W

07/05/2009 10:24:00
Quote Anchor link
Ok, veranderd in inntHTML = '';
Daarnaast heeft maar 1 div het id 'forgotpass-contianer'.

De ajax request blijkt wel te werken. Sinds het divje naar een poosje groter word (en er dus content in word gezet). Alleen werken de addClass niet en word het resultaat niet weergegeven!
 
Crispijn -

Crispijn -

07/05/2009 11:00:00
Quote Anchor link
Ah, ik snap nu wat je probleem is. Je cache hoef je niet te legen, het zal waarschijnlijk een css ding zijn.

Met firebug kan je eens goed kijken welke elementen er allemaal veranderd moeten worden e.d. Misschien is er gewoon iets mis met je css file. Dus even pielen in je html tabje in firebug!
 
W W

W W

07/05/2009 11:04:00
Quote Anchor link
Klopt. ik heb wat css/html veranderd en het schijnt nu te werken.
 
Crispijn -

Crispijn -

07/05/2009 11:10:00
Quote Anchor link
Top! Mooi dat het opgelost is. Ik werd wat van de wijs gebracht door je topic titel ;)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.