Ciao a tutti,
ho creato un form html che con il comando onSubmit mi richiama uno script js che ha il compito di leggere le informazioni e passarle ad uno script python! Tale script genera un immagine che vorrei successivamente visualizzare nella pagina del form html.
Praticamente quando clicco su Elabora (nel form) non accade nulla; nel senso che la pagina rimane quella del form anche se poi vado a vedere nelle cartelle e l'immagine da plottare è stata effetivamente creata inmodo corretto! Non capisco perchè non viene plottata.
codice form:
codice:
<div id="contiene_form">
<form id="form1" name="form1" method="post" action="monitoraggio.py" onsubmit="invio(); return false;">
Stazioni disponibili:</p>
<input name="stazione" type="checkbox" value="inr1" id="stazione"/>inr1</p>
<input name="stazione" type="checkbox" value="inr2" id="stazione"/>inr2</p>
<input name="stazione" type="checkbox" value="inr3" id="stazione"/>inr3</p>
<input name="stazione" type="checkbox" value="inr4" id="stazione"/>inr4</p>
Inserisci il doy:<span id="d_o_y">
<label>
<input type="text" name="doy" id="doy" />
</label>
</span></p>
Inserisci il periodo:</p>
<input name="latenza" type="radio" value="1d" id="latenza"/> 1d
<input name="latenza" type="radio" value="5d" id="latenza"/> 5d </p>
Inserisci il tipo di trend:</p>
<input name="trend" type="radio" value="Not-TR" id="trend"/> Not-TR
<input name="trend" type="radio" value="TR" id="trend"/> TR </p>
<input name="trend" type="radio" value="Both" id="trend"/> Both</p>
<input name="Elabora" type="submit" value="Elabora" id="Elabora"/>
</form>
</div>
<span id="img"></span>
codice js:
codice:
function prepara_dati(){
var stazione="";
for (i = 0; i < document.form1.stazione.length; i++)
if (document.form1.stazione[i].checked){
stazione = stazione + "stazione=" + document.form1.stazione[i].value + "&";
}
<!-- alert(stazione);
var latenza="";
for (i = 0; i < document.form1.latenza.length; i++)
if (document.form1.latenza[i].checked){
latenza = latenza + "latenza="+document.form1.latenza[i].value+ "&";
}
<!-- alert(latenza);
var trend="";
for (i = 0; i < document.form1.trend.length; i++)
if (document.form1.trend[i].checked){
trend = trend + "trend="+document.form1.trend[i].value;
}
<!-- alert(trend);
var enc=encodeURIComponent;
doy=document.getElementById("doy").value;
data=stazione+"doy="+enc(doy)+"&"+latenza+trend;
alert(data);
AJAXReq("POST","monitoraggio.py",true,data);
<!-- alert(data);
}
function AJAXReq(method,url,bool,data){
if(window.XMLHttpRequest){
myReq = new XMLHttpRequest();
} else
if(window.ActiveXObject){
myReq = new ActiveXObject("Microsoft.XMLHTTP");
if(!myReq){
myReq = new ActiveXObject("Msxml2.XMLHTTP");
}
}
if(myReq){
execfunc(method,url,bool,data);
}else{
alert("Impossibilitati ad usare AJAX");
}
}
function execfunc(method,url,bool,data){
myReq.onreadystatechange = handleResponse();
myReq.open(method,url,bool);
myReq.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
myReq.send(data);
}
function invio(){
prepara_dati();
}
function handleResponse(){
if(myReq.readyState == 4){
if(myReq.status == 0){
img = document.getElementById('img');
img.innerHTML = myReq.responseText;
alert(myReq.responseText);
}else{
alert("Niente da fare, AJAX non funziona :(");
}
}
}
grazie