[Ajax & DOM] Ajax form validatie, header location probleem

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Longlegg
  • Registratie: Januari 2002
  • Laatst online: 13-04-2022

Longlegg

Danoontje POWERRRRR

Topicstarter
Beste,

Ik ben bezig met een registratie formulier. Ik laat deze valideren door een Ajax script. Op het moment dat alle gegevens ok worden bevonden, wil ik de bezoeker via header(location..) doorsturen naar de 'registratie ok pagina'. Alleen laadt hij deze pagina in binnen mijn <div> waar ik mijn eventuele foutmeldingen laat zien.

Wat stukjes code:

Script wat het ajax gedeelte verzorgt:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    <script type="text/javascript" src="js/mootools.js"></script>
    <script type="text/javascript">
        window.addEvent('domready', function(){
                    $('aanmelden').addEvent('submit', function(e) {
                        new Event(e).stop();
                        var log = $('log_res').empty().addClass('ajax-loading');
                        this.send({
                            update: log,
                            onComplete: function() {
                                log.removeClass('ajax-loading');
                            }
                        });
                    });
                });
    </script>


Binnen log en log_res laat het script de eventuele foutmeldingen zien:
code:
1
2
3
4
5
<p class="contents">Vul in onderstaand formulier de gevraagde gegevens in, en je kunt direct aan de slag.</p><div id="log">
        <div id="log_res">
        <!-- SPANNER -->
        </div>
    </div>


Die eventueel worden uitgepoept door dit script:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    if (user_excist($_POST['emailadres'])==FALSE)
    {
        $errors[] = '- Er bestaat al een account op jouw e-mailadres!!';
    }


    if(is_array($errors))
    {
        echo '<p class="error"><b>De volgende fouten zijn gevonden:</b></p>';
        while (list($key,$value) = each($errors))
        {

            echo '<span class="error">'.$value.'</span><br />';
        }
    }
    else {
                header("location: pietje.html");


Nou is dus het probleem: De foutmeldingen werken prima, maar op het moment dat er geen error's meer zijn en ik de gebruiker wil laten doorsturen naar "pietje.html", wordt pietje.html netjes ingeladen binnen de divs log en log_res.

Hoe kan ik binnen deze opstelling het window.event los laten? Of is er een snellere / mooiere oplossing?

Uiteraard heb ik me al ... gezocht op google en allerhande techsites. :P

Specs


Acties:
  • 0 Henk 'm!

  • disjfa
  • Registratie: April 2001
  • Laatst online: 26-09-2024

disjfa

be

Je moet gewoon checken op een goedkeuring en doorsturen met javascript. Je kan niet binnen een ajax request een header zetten.

disjfa - disj·fa (meneer)
disjfa.nl


Acties:
  • 0 Henk 'm!

  • Longlegg
  • Registratie: Januari 2002
  • Laatst online: 13-04-2022

Longlegg

Danoontje POWERRRRR

Topicstarter
Ik ben niet zo'n js held:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    <script type="text/javascript">
        window.addEvent('domready', function(){
                    $('aanmelden').addEvent('submit', function(e) {
                        new Event(e).stop();
                        var log = $('log_res').empty().addClass('ajax-loading');
                        this.send({
                            update: log,
                            onComplete: function() {
                                log.removeClass('ajax-loading');
                            }
                        });
                    });
                });
if(domready return == TRUE){
window.location = "http://geenstijl.nl";
}


Maar dit werkt uiteraard niet. Hij komt nu vanuit het script terug met "return TRUE", maar hoe vang ik dit dan weer op in mijn Ajax request?

Specs


Acties:
  • 0 Henk 'm!

Anoniem: 305426

Beetje offtopic, maar het is exist, niet excist ;)

Acties:
  • 0 Henk 'm!

  • Longlegg
  • Registratie: Januari 2002
  • Laatst online: 13-04-2022

Longlegg

Danoontje POWERRRRR

Topicstarter
Anoniem: 305426 schreef op maandag 23 november 2009 @ 21:21:
Beetje offtopic, maar het is exist, niet excist ;)
Whaha, ik helemaal blij met reply ;). Ja klopt, zit al hele dag te programmeren, krijg je spelfouten. :)

Specs


Acties:
  • 0 Henk 'm!

Anoniem: 305426

Oplossing staat hierboven toch? Redirect in je javascript..

Acties:
  • 0 Henk 'm!

  • Longlegg
  • Registratie: Januari 2002
  • Laatst online: 13-04-2022

Longlegg

Danoontje POWERRRRR

Topicstarter
Maar hoe en op welk niveau? Ik ben niet zon javascript ster :s.

Specs


Acties:
  • 0 Henk 'm!

Anoniem: 305426

Een javascript redirect in je oncomplete? (of onSuccess ofzo, nooit met mootools gewerkt)

  • Longlegg
  • Registratie: Januari 2002
  • Laatst online: 13-04-2022

Longlegg

Danoontje POWERRRRR

Topicstarter
Ik ben er nog steeds niet uit, ik weet niet goed op welke functie of variabele ik de check moet doen dat het leeg/ok. OnComplete, werkt de window.location wél, maar ook als er nog gegevens ontbreken. Wat logisch is, want een OnComplete voor dit script is een succesvolle aanvraag. Kortom, hoe en waarop moet ik een check inbouwen om te controleren of er een bepaalde waarde in het antwoord terugkomt? (deze kan ik natuurlijk opgeven in het script wat de daadwerkelijke controle doet.)

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 <script type="text/javascript">
        window.addEvent('domready', function(){
                    $('aanmelden').addEvent('submit', function(e) {
                        new Event(e).stop();
                        var log = $('log_res').empty().addClass('ajax-loading');
                        this.send({
                            update: log,
                            onComplete: function() {
                                log.removeClass('ajax-loading');
                            }
                        });
                    });
                });
if(domready return == TRUE){
window.location = "http://geenstijl.nl";

Specs


  • Cartman!
  • Registratie: April 2000
  • Niet online
Gewoon de handleiding lezen wil wel eens helpen:
success

Fired when the Request is completed successfully.
Signature:

onSuccess(responseText, responseXML)

Arguments:

1. responseText - (string) The returned text from the request.
2. responseXML - (mixed) The response XML from the request.
Pagina: 1