Ik heb de volgende code:


<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
function SubmitForm() {
var content = $("#content").val();
var naam = $("#naam").val();
$.post("shared/saveItem.php", { content: content, naam: naam },
   function(data) {
     alert("Data Loaded: " + data);
   });
}
</script>


En ik wil in plaats van de alert de volgende div weergeven:


        <div id="opslaan">
        <div class="alert alert-success alert-dismissable">
                    <button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
                    <h4>	<i class="icon fa fa-check"></i>Opgeslagen!</h4>
                    Het onderwerp is succesvol opgeslagen.
        </div>
        </div>


Hoe krijg ik dat voor elkaar?
Afhankelijk van het slagen of mislukken zou je een verschillende boodschap kunnen tonen, dit doe je op grond van "ok".

Je kunt alle elementen + de inhoud binnen je postResult div manipuleren middels jQuery. Hoe dat moet heb je zo bij elkaar geGoogled.

In beide gevallen (slagen of mislukken) is er een respons. In beide gevallen zou je dus de postResult (uiteindelijk, na het opmaken + weergeven van een passende tekst op grond van "ok") kunnen tonen met $('#postResult).show();.
Duidelijk, ik heb het voor elkaar op deze manier:

                if (ok) {
                    setTimeout(function(){
	document.getElementById('postResult').innerHTML = '';
}, 3000);
                } else {
                    // doe ook iets voor als het misgaat...
                    setTimeout(function(){
	document.getElementById('postResult').innerHTML = '';
}, 3000);
                }


Maar waarom gebeurt er bij een tweede keer opslaan niks? De eerste keer opslaan krijg ik een mooie melding. De tweede keer zie ik niks...
Wat heeft die if() voor nut als je in beide gevallen exact hetzelfde doet.
Hoe moet het dan? Ik wist niet hoe ik de if/else moest weghalen...

Reageren