ajax send form

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

W W

W W

01/05/2009 13:01:00
Quote Anchor link
Hoi,

Ik wil via Mootools een form verzenden. Dit gaat goed, teminsten, hij maakt een request.

Hier mijn javascript:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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();
                });


mijn html formpje
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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>


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)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST')
{

    echo 'POST';
        print "<pre>".print_r($_POST, true)."</pre>";
}


if($_SERVER['REQUEST_METHOD'] == 'GET')
{

    echo 'GET';
}

?>


Weet iemand wat ik fout doe?
 
PHP hulp

PHP hulp

28/03/2024 13:55:39
 
W W

W W

03/05/2009 14:31:00
Quote Anchor link
Bump.
 

03/05/2009 15:15:00
Quote Anchor link
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.
 
W W

W W

03/05/2009 15:40:00
Quote Anchor link
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

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
Array
(
)


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
 

03/05/2009 15:44:00
Quote Anchor link
Dat zou, lijkt mij, geen verschil mogen uitmaken.
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
 
W W

W W

03/05/2009 15:46:00
Quote Anchor link
Karl,

Het lijkt mij ook onlogisch dat het een verschil zou moeten uitmaken.

Iig output van var_dump($_REQUEST);

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
array(0) {
}


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
 

03/05/2009 15:57:00
Quote Anchor link
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:
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
16
17
18
19
20
21
22
23
<pre>array(2) {

  ["email"]=>

  string(4) "test"

  ["btnForgotPass"]=>

  string(7) "Verzend"

}

</pre>POST<pre>Array

(

    [email] => test

    [btnForgotPass] => Verzend

)

</pre>
 
W W

W W

03/05/2009 16:00:00
Quote Anchor link
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?
 

03/05/2009 16:01:00
Quote Anchor link
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.
 
W W

W W

03/05/2009 16:05:00
Quote Anchor link
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.
 



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.