var spr= new Array() function wery(input,tar,div,su,index) // poprawność danych (id inputa, plik sprawdzający, div do odp, nazwa formularza z inputem do odblokowania,index ) {var blokowac; var req = mint.Request(); req.method = "post"; req.AddParam(input, $(input).value); req.OnSuccess = function () { if( req.responseText!='OK') {spr[index]=1;} // ukrycie' else { spr[index]=0;} //pokazanie for (var i=0;i<spr.length;i++) { if(spr[i]=='1') { document.getElementById(input).style.backgroundColor= '#ff0000'; blokowac=1; } // czyli zablokowany else {document.getElementById(input).style.backgroundColor= '#ffffff';} } } req.Send(tar,div); //alert("blokowac=" + blokowac); if(blokowac=='1') {document.getElementById(su).submit.disabled = true;} else {document.getElementById(su).submit.disabled = false; } }
I przykładowy formularz
<form id="pop" method="post"> <input id="imie" type="text" size="3" name="imie" value=<?php echo $imie; ?> onchange="wery('imie','sprz/w.php','od','pop','1')"> ... <input id="nrtel" type="text" size="3" name="nrtel" value=<?php echo $nrtel; ?> onchange="wery('nrtel','sprz/w.php','od','pop','15')"> <input id="submit" name="submit" disabled="true" type="submit" value="ZAPISZ"> </form>
I problem (którego nie mogę zrozumieć)
W listingu funkcji jest w komentarzu alert (//alert("blokowac=" + blokowac); ). Jeżeli jest on włączony (tzn. nie jest jako komentarz) to skrypt ładnie w zależności od response blokuje i zmienia kolor inputa (no i oczywiście pokazuje mi się alert. Jeżeli go wylącze (wezmę w komentarz) to wszystko bierze w łeb.
Dlaczego?