Ho un problema con una richiesta Ajax nel mio componente, dovrei fare in modo che la risposta appaia in un div che ho di fianco a quello contenente la form, ma invece mi si ricarica la pagina e vedo solo la risposta, la form sparisce.
Un po' di codice
//mi genera l'oggetto xhr
function ajaxRequest()
{
//bla bla
}
function checkForm()
{
var form = document.getElementById('preventivolibro');
var avvisi = document.getElementById('avvisivcm');
//check sulla compilazione della form
//richiesta ajax
var mypostrequest = new ajaxRequest()
mypostrequest.onreadystatechange = function()
{
if (mypostrequest.readyState == 4)
{
if (mypostrequest.status == 200 || window.location.href.indexOf("http") == -1)
{
document.getElementById("risultatopreventivo").innerHTML = mypostrequest.responseText;
}
else
{
alert("An error has occured making the request");
}
}
}
//qui genero la stringa coi parametri da inviare
//invio la richiesta
mypostrequest.open("POST", "index.php", true);
mypostrequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
mypostrequest.send(parameters);
return false;
}
//intestazione form
<form name='preventivo' id='preventivo' method='post' action='#'>
//e in fine
<input type="hidden" name="task" value="calcola" />
<input type="hidden" name="option" value="<?php echo $this->option; ?>" />
<input type="submit" class="button" id="button" name='submit' value='Calcola' onclick='return checkForm()' />
Lo script php (implementato con una funzione dentro al file controller.php) genera semplicemente una stringa contenente le coppie nome-valore dei parametri ricevuti e la butta fuori correttamente con una echo, non fa altro.
Ci vedete qualcosa di strano?
Altrimenti cosa devo mostrarvi per controllare se ci sono problemi?