Pur essendo abbastanza digiuno di Javascript, grazie ad un buon libro ed alla libreria Prototype, sono riuscito a realizzare una funzione javascript che , insieme ad uno script php, recupera un dato da un database e aggiunge la risposta nel div selezionato con una richiesta asincrona.
Così ad esempio ,immaginando un carrello della spesa, riesco a salvare il prodotto nel database e renderlo immediatamente visibile nella stessa pagina
er come è strutturato l'esempio , però , nel caso aggiungessi una nuovo prodotto, solo questo risulta immediatamente visibile nella pagina, a meno di non modificare lo script php e far passare alla funzione javascript tutto il contenuto del carrello trovato nel database.
Codice PHP:
<script type="text/javascript">
//<![CDATA[
function requestCustomerInfo() {
var sId = document.getElementById("txtCustomerId").value;
var oOptions = {
method: "get",
parameters: "id=" + sId,
onSuccess: function (oXHR, oJson) {
displayCustomerInfo(oXHR.responseText);
},
onFailure: function (oXHR, oJson) {
displayCustomerInfo("An error occurred: " +
oXHR.statusText);
}
};
var oRequest = new Ajax.Request("GetCustomerData.php", oOptions);
}
function displayCustomerInfo(sText) {
var divCustomerInfo = document.getElementById("divCustomerInfo");
divCustomerInfo.innerHTML = sText;
}
//]]>
</script>
Tralasciando il form che richiama la suddetta funzione e lo script php che resistuisce la variabile sText, vorrei in pratica che il <div id="divCustomerInfo"> non contenesse solo sText, che è l'ultimo prodotto inserito, ma aggiungesse ulteriore testo al testo già presente...