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 js: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>
graziecodice: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 :("); } } }

Rispondi quotando