ciao,
il messaggio d'errore mi appare in una popup quando clicco sul tasto continua del forum...quindi da browser
inserisco di seguito il form e il file ajax.js
<?php
function conferma_scuola($page, $classe, $fz)
{
$campi = array();
if( isset($_POST["codicescuola"]) ) $campi[] = "codicescuola";
if( isset($_POST["classe"]) ) $campi[] = "classe";
?>
<form name="form" action="<?php echo $page; ?>" method="POST" onSubmit="javascript: getCliente();">
<input type="hidden" name="classe" value="<?php echo $classe; ?>">
<input type="hidden" name="fz" value="<?php echo $fz; ?>"><br>
<input type="hidden" name="cliente" value="0"><br>
<?php
conferma($campi);
?>
<br><input type="submit" value="Conferma">
<input type="button" value="Annulla" onClick="javascript: location.href('../../../index.php');">
</form>
<?php
}
?>
function getFormValues()
{
var i = 0;
var str = "";
for(i=0; i<document.form.elements.length; i++)
{
var elemento = document.form.elements[i];
if( document.form.elements[i].type == "select-one" )
{
str1 = document.form.elements[i].name+"="+document.form.elements[i].value+"&";
str += str1;
}
}
return str.substr(0,(str.length - 1));
}
/* La seguente funzione crea un oggetto XMLHttpRequest...*/
function createRequestObject()
{
var request_o; //dichiara la variabile che conterra' l'oggetto
var browser = navigator.appName; //trova il nome del browser
if( browser == "Microsoft Internet Explorer" )
{
/* Create the object using MSIE's method */
request_o = new ActiveXObject("Microsoft.XMLHTTP");
}
else
{
/* Create the object using other browser's method */
request_o = new XMLHttpRequest();
}
return request_o; //restituisce l'oggetto
}
var id = "regione"; // La variabile id conterra' il nome della select da riempire
/* La variabile http conterra' l'oggetto XMLHttpRequest */
var http = createRequestObject();
/* Funzione chiamata per prendere la lista delle province e/o dei comuni */
function getComuni(scelta,host)
{
http = createRequestObject();
var method = "POST";
var url = "http://"+host+"/scuoleitaliane/lib/response.php";
var comune = document.form.elements["comune"];
text = comune.options[0].text;
comune.length = 0;
comune.options[0] = new Option(text,'none');
var provincia = document.form.elements["provincia"];
var i = provincia.selectedIndex;
if( ( scelta == "regione" ) || ( scelta == "provincia" && provincia.options[i].value == "none") )
{
text = provincia.options[0].text;
provincia.length = 0;
provincia.options[0] = new Option(text,'none');
id = "provincia";
}
else if( scelta == "provincia" && provincia.options[i].value != "none") id = "comune";
var params = getFormValues();
/*
Crea la richiesta. Il primo argomento della funzione open e' il metodo (POST/GET),
e il secondo argomento e' l'url...
il documento contenente il riferimento a tutti gli oggetti nella pagina
Possiamo riferire document.form.regione
riferendo cosi il menu a discesa. La proprieta' selectedIndex ci dara'
l'indice dell'oggetto selezionato
*/
http.open(method, url, true);
/* Definisce una funzione da chiamare quando la risposta e' stata ricevuta. Funzione definita
successivamente che funge da gestore */
http.onreadystatechange = handleComuni;
/* Viene usato solo se si usa il metodo POST. Setta l'header della richiesta HTTP */
http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
/* Spedisce i dati. Se si usa il metodo get il parametro e' null.
Se si usa il metodo POST str contiene i valori del form nella forma di query string */
http.send(params);
}
/* Funzione chiamata per gestire la risposta inviata dal file inserisciScuola.php */
function handleComuni()
{
/* Occorre essere certi che la transazione sia finita. L'oggetto XMLHttpRequest
ha una proprieta' chiamata readyState che indica parecchi "stati":
0: Uninitialized
1: Loading
2: Loaded
3: Interactive
4: Finished */
if(http.readyState == 4) //Ha finito di ricevere la risposta
{
/* Abbiamo ricevuto la risposta dallo script server-side,
Vediamo cosa e' usando la proprieta' dell'oggetto XMLHttpRequest
responseText
*/
var response = http.responseText;
var opt = new Array();
if( response != "" )
{
opt = response.split('|');
var i = 0;
var newElem;
/* E ora vogliamo aggiungere le option alla select id.
Lo facciamo usando il metodo add(elemento,posizione)
posizione=-1 indica che gli elementi vanno inseriti in coda
*/
for(i=0; i<opt.length; i++)
{
newElem = document.createElement("option");
if( opt[i].indexOf('/') != -1 )
{
var opt_value = new Array();
opt_value = opt[i].split('/');
newElem.text = opt_value[1];
newElem.value = opt_value[0];
}
else
{
newElem.text = opt[i];
newElem.value = opt[i];
}
document.getElementById(id).add(newElem, -1);
}
}
http = null;
}
}
/* Funzione chiamata per verificare se la sucola e' cliente o no */
function getCliente()
{
http = createRequestObject();
var method = "GET";
var url = "http://151.9.147.6/checkscuola.asp?codmin="+escape(document.form.codiceministeriale.value);
alert(url);
/*
Crea la richiesta. Il primo argomento della funzione open e' il metodo (POST/GET),
e il secondo argomento e' l'url...
il documento contenente il riferimento a tutti gli oggetti nella pagina
*/
http.open(method, url, true);
/* Definisce una funzione da chiamare quando la risposta e' stata ricevuta. Funzione definita
successivamente che funge da gestore */
http.onreadystatechange = handleCliente;
/* Spedisce i dati. Se si usa il metodo get il parametro e' null.
Se si usa il metodo POST str contiene i valori del form nella forma di query string */
http.send(null);
}
/* Funzione chiamata per gestire la risposta inviata dal file inserisciScuola.php */
function handleCliente()
{
/* Occorre essere certi che la transazione sia finita. L'oggetto XMLHttpRequest
ha una proprieta' chiamata readyState che indica parecchi "stati":
0: Uninitialized
1: Loading
2: Loaded
3: Interactive
4: Finished */
if(http.readyState == 4) //Ha finito di ricevere la risposta
{
/* Abbiamo ricevuto la risposta dallo script server-side,
Vediamo cosa e' usando la proprieta' dell'oggetto XMLHttpRequest
responseText
*/
var response = http.responseText;
alert(response);
var opt = new Array();
if( response != "" )
{ opt = response.split('|');
/* E ora vogliamo aggiungere le option alla select id.
Lo facciamo usando il metodo add(elemento,posizione)
posizione=-1 indica che gli elementi vanno inseriti in coda
*/
//document.form.cliente.value=response;
document.form.cliente.value=opt[1];
}
http = null;
}
}