ajax send form
Hoi,
Ik wil via Mootools een form verzenden. Dit gaat goed, teminsten, hij maakt een request.
Hier mijn javascript:
mijn html formpje
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
Weet iemand wat ik fout doe?
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?
Gesponsorde koppelingen:
Bump.
Raar, je doet het zo te zien volgens de voorbeelden. Ik heb geen idee wat je fout doet...
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.
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.
Het rare is, dat het voorbeeld wat ik gedownload heb perfect werk. Zodra ik het in mijn systeem implementeer krijg ik een lege array terug.
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?
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 Pepijn Schildkamp
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.
Gewijzigd op 01/01/1970 01:00:00 door Karl Karl
Karl,
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.
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 Pepijn Schildkamp
Ik denk dat het aan:
var log = $('forgotpass-container').empty().addClass('ajax-loading');
ligt, want als ik in firebug:
$('forgotPass').send()
doe dan krijg ik terug:
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.
Het werkt, zolang ik die .empty() er maar uit laat blijkt het te werken. Ik moet dus eigenlijk gewoon even iets gaan prutsen met display en divjes wil ik die empty eruit houden.
Mijn dank is groot.
Mijn dank is groot.



