ajax send form
Ik wil via Mootools een form verzenden. Dit gaat goed, teminsten, hij maakt een request.
Hier mijn javascript:
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
$('forgotPass').addEvent('submit', function(e) {
e.stop();
var log = $('forgotpass-container').empty().addClass('ajax-loading');
this.set('send', {onComplete: function(response) {
log.removeClass('ajax-loading');
log.set('html', response);
}});
this.send();
});
e.stop();
var log = $('forgotpass-container').empty().addClass('ajax-loading');
this.set('send', {onComplete: function(response) {
log.removeClass('ajax-loading');
log.set('html', response);
}});
this.send();
});
mijn html formpje
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<div class="forgotpass-input" id="forgotpass-div">
<div id="forgotpass-container">
<form id="forgotPass" action="ajax/forgotpass.ajax.php" method="post">
<input type="text" name="email" id="email" value="E-mail adres" />
<div class="login-submit">
<input type="submit" name="btnForgotPass" value="Verzend" />
</div>
</form>
</div>
</div>
<div id="forgotpass-container">
<form id="forgotPass" action="ajax/forgotpass.ajax.php" method="post">
<input type="text" name="email" id="email" value="E-mail adres" />
<div class="login-submit">
<input type="submit" name="btnForgotPass" value="Verzend" />
</div>
</form>
</div>
</div>
Hij verzend dus de gegevens naar mijn forgotpass.ajax.php. Ik controleer in dit script of er een POST request is geweest. Dit geeft true terug, toch zijn er totaal geen gegevens mee verzonden. De $_POST is leeg!!
forgotpass.ajax.php
Code (php)
Weet iemand wat ik fout doe?
Bump.
Je kunt in firebug een breakpoint op die this.send() zetten om te kijken of ie wel data heeft.
Verder vind ik persoonlijk jQuery veel duidelijker, handiger en simpeler in dit soort dingen.
Dus, hij komt in de if voor request method post. Doet de print_r($_POST) en krijg als result terug
Haal ik de ajax er tussen uit, en laat ik het gewoon submitten naar die pagina, dan stuurt hij de data wel gewoon mee.
Moet ik misschien de method via get laten werken?
Gewijzigd op 01/01/1970 01:00:00 door W W
Je kunt ook eens een var_dump van $_REQUEST doen, helemaal bovenaan, om te kijken of er inderdaad wel ietst komt.
Ik heb even bij je site gekeken, het probleem zit hem in de javascript, er wordt sowieso niks mee gestuurd.
Het lijkt mij ook onlogisch dat het een verschil zou moeten uitmaken.
Iig output van var_dump($_REQUEST);
Helemaal niks.
En waar in het javascript? Ik heb meerdere javascript erin zitten, werken stukken code elkaar misschien een beetje tegen?
Ik heb al het overige javascript eruit gehaalt. En het probleem blijft bestaan.
Gewijzigd op 01/01/1970 01:00:00 door W W
var log = $('forgotpass-container').empty().addClass('ajax-loading');
ligt, want als ik in firebug:
$('forgotPass').send()
doe dan krijg ik terug:
Hmm klinkt logisch. Dus die .empty zorgt ervoor dat er niks word meegestuurd oid? Is er een andere manier om de div leeg te maken?
Pepijn schreef op 03.05.2009 16:00:
Hmm klinkt logisch. Dus die .empty zorgt ervoor dat er niks word meegestuurd oid? Is er een andere manier om de div leeg te maken?
Geen id, ik zou eerst testen of dát het wel is.
Verder ben ik pro jQuery, dus het enige wat ik je kan aanraden is om jQuery te gaan gebruiken.
Mijn dank is groot.