Ik POST op de volgende manier informatie door naar SaveItem.php:


<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
//<![CDATA[
// als je document klaar is met laden...
$().ready(function() {
    // als het formulier #theForm wordt gesubmit...
    $('form#theForm').submit(function(e) {
        // vang het submit event af, jQuery/AJAX handelt dit immers af
        e.preventDefault(); // het default gedrag is dat het formulier gePOST wordt, en dat willen we niet
        $('#postResult').hide();
        $.post(
            'shared/saveItem.php?itemID=<?php echo $itemID; ?>', // het script waar je naartoe POST
            $('#theForm').serialize(), // verzamel alle form data in 1x (naam, content)
    .done(function( data ) {
        $('#postResult').html('Gelukt!');
    }
    .fail(function() {
        $('#postResult').html('Er is een fout opgetreden!');
    }
    .always(function( data ) {
        $('#postResult').show();
        setTimeout(function(){ $('#postResult').hide(); }, 3000);
    }
            'json' // geef een "hint" over het type van de terug te ontvangen data
        );
    });
});
//]]>
</script>


Ik merk dat informatie via SaveItem.php in de database terecht komt.
Maar SaveItem.php controleert ook of alle velden zijn ingevuld.
Indien dat niet het geval is volgt een melding.
Hoe kan ik in #postResult weergeven of er een veld niet is ingevuld, en het script op SaveItem.php niet helemaal is uitgevoerd daardoor?
verder lijn 15 eens in:

alert(data);
$('#postResult').html('Gelukt!');


Wat meldt deze dan in een alert?
Ik heb het iets aangepast:

.done(function( data ) {
    $('#postFeed').show();
})
.fail(function() {
    $('#postFeed').show();
})
.always(function( data ) {
    $('#postFeed').show();
    setTimeout(function(){ $('#postFeed').hide(); }, 3000);
});


Het laat een DIV zien... Hoe kan ik de boodschap (data) in de div krijgen?
Zoals je al eerder met je .html() functie deed. Je kan dan data erin gebruiken. Maar als je simpele teksten hebt als melding, zoals OK, dan zegt dat weinig naar een gebruiker.

Ikzelf spuug in mijn eigen applicatie simpele codes uit, zoals NO_CONNECT, FIELD_ARE_EMPTY etc.. en met een switch vertaal ik dit naar wat leesbaarders. Zo kan je ook prima vertalingen regelen als je site meerdere talen ondersteunt.
Dank, gelukt!
Dank!

Reageren