Salve a tutti.
premetto che sono quasi digiuno di HTML e Javascript, tuttavia mi sono ritrovato a scrivere alcune pagine nei suddetti linguaggi, per implementarle in in dispositivo a microcontrollore che sto sviluppando.
Il problema nasce nella pagina che serve a configurare i parametri di rete del dispositivo;
praticamente vengono creati 12 campi di testo tramite javascrit, soluzione che ho adottato per ridurre la quantità di codice da memorizzare nella memoria limitata del dispositivo, viene poi eseguita una convalida dei dati inseriti, che se va a buon fine, richiama il metodo submit() dell' oggetto form interessato.
La cosa anomala è questa: se opero in locale o "fuori linea" tutto funziona regolarmente, ma se cerco di lavorare "on line" col mio dispositivo, appena viene eseguito il metodo submit() il browser si pianta su "in attesa di 192.168.20.60" e non viene inoltrata alcuna richiesta GET.
Sono sicuro che il problema sia sul metodo submit() perchè ho inserito nel form un pulsante "submit", e con questo funziona regolarmente.
Mi scuso per essermi dilungato; inserisco parte del codice per maggiore chiarezza.
Questo è l' html che genera il form:
</form><hr>
<form action="" method="get" name="ipcfg" id="ipcfg"><div align="center">
<script language="JavaScript" src="net.js" type="text/JavaScript"></script>
<input name="SendIP" type="button" onClick="conv_net()" value="Invia">
</div>
</form>
questo è lo script che crea i campi e contiene la funzione di convalida:
for (i=0;i<12;i++){
var str="";
if (i==0) str+="
Indirizzo";
if (i==4) str+="</p>
Netmask";
if (i==8) str+="</p>
Gateway";
str+="<input name=\"ip";
str+=i;
str+="\" type=\"text\" id=\"ip";
str+=i;
str+="\" size=\"3\" value=\"";
str+=i;
str+="\">";
document.write(str);
}
document.write("</p>");
function conv_net(){
for (i=0;i<12;i++){
n=eval("document.ipcfg.ip"+i+".value");
if (n<0||n>255||n==""||isNaN(n)){
alert("DATI NON CORRETTI");
return;
}
}
document.ipcfg.submit(); //Questo non funziona
}
function conv_auth(){
if (document.auth.pwd.value!=document.auth.pwd2.value ){
alert("VERIFICA PASSWORD");
} else{
document.auth.submit(); //Questo funziona
}
}
grazie anticipatamente a chi può essere di aiuto.