Salve a tutti, sono nuovo qui
.
Nonostante la mia totale inesperienza riguardo ai Javascript mi trovo a scrivere una funzione che (a me) pare piuttosto complessa e che dovrebbe fare questo:
prendere il value del radiobutton selezionato (la funzione viene chiamata all'onclick dei radiobutton), controllare se uno dei valori che viene passato tramite URL corrisponde ad una delle 4 stringhe che ottengo "scomponendo" il value ed abilitare/disabilitare alcuni pulsanti del form.
La pagina utilizza anche codice ASP.
Il problema è che ottengo un errore ("richiesto oggetto") al quale non so porre rimedio.
Il codice è questo:
codice:
<script language="JavaScript">
function LTrim(str)
{
re=/^\s+/g;
str.replace(re,"");
return str;
}
function valida()
{
var Orario
var Oper1Sel
var Oper2Sel
var Oper3Sel
var OperLog
var appoIndice
var appoStringa
var IndiceElemento
var i
var sI
OperLog = '<%=Oper%>';
window.alert(OperLog);
For (i=1; i<9; i++)
{
sI = string(i)
If (document.Pause.getElementById(sI).checked)
{
IndiceElemento = i;
}
End If
}
Orario = document.Pause.getElementById(string(IndiceElemento)).value.substr(0, 5);
appoIndice = document.Pause.getElementById(string(IndiceElemento.value.indexOf('@');
appoStringa = document.Pause.getElementById(string(IndiceElemento.value.substr (appoindice + 1, document.Pause.getElementById(string(IndiceElemento.value.length - 6));
appoIndice = appoStringa.indexOf('@');
Oper1Sel = appoStringa.substr(0, appoIndice);
appoStringa = appoStringa.substr(appoindice + 1, appoStringa.length - appoindice - 1);
appoIndice = appoStringa.indexOf('@');
Oper2Sel = appoStringa.substr(0, appoIndice);
appoStringa = appoStringa.substr(appoindice + 1, appoStringa.length - appoindice - 1);
Oper3Sel = appoStringa;
If (OperLog == Oper1Sel) || (OperLog == Oper2Sel) || (OperLog == Oper3Sel)
{
document.Pause.Annulla.InnerHTML = "<input type='submit' name ='Annulla' value=' Annulla prenotazione
'>";
document.Pause.Prenota.InnerHTML = "<input type='submit' name ='Prenota' value=' Prenota pausa '
DISABLED>';
}
Else
{
If (LTrim(Oper1Sel) == '') || (LTrim(Oper2Sel) == '') || (LTrim(Oper3Sel) == '')
{
document.Pause.Annulla.InnerHTML = "<input type='submit' name ='Annulla' value=' Annulla prenotazione
' DISABLED>";
document.Pause.Prenota.InnerHTML = "<input type='submit' name ='Prenota' value=' Prenota pausa ' >';
}
Else
{
document.Pause.Annulla.InnerHTML = "<input type='submit' name ='Annulla' value=' Annulla prenotazione
' DISABLED>";
document.Pause.Prenota.InnerHTML = "<input type='submit' name ='Prenota' value=' Prenota pausa '
DISABLED>';
}
End If
}
End IF
}
</script>
Tra l'altro nelle ultime prove, nonostante non abbia effettuato modifiche al codice, i radiobutton mi rimangono checked anche se ne clicco un altro...
Se serve questo è il codice del form (ASP escluso, prendo solo il codice che mi restituisce il web server):
codice:
<form action="PauseOK.asp" name="Pause" method="post">
<table>
<tr>
<td>
<font color=ffffff>
17:30
</font>
<input type="radio" name="Ora1" value="17:30@ @ @ " ID="1" onClick="valida()">
<td nowrap><font color=ffffff>
</font></td>
</tr>
<tr>
<td>
<font color=ffffff>
17:45
</font>
<input type="radio" name="Ora2" value="17:45@ @ @ " ID="2" onClick="valida()">
<td nowrap><font color=ffffff>
</font></td>
</tr>
<tr>
<td>
<font color=ffffff>
18:00
</font>
<input type="radio" name="Ora3" value="18:00@ @ @ " ID="3" onClick="valida()">
<td nowrap><font color=ffffff>
</font></td>
</tr>
<tr>
<td>
<font color=ffffff>
18:15
</font>
<input type="radio" name="Ora4" value="18:15@ @ @ " ID="4" onClick="valida()">
<td nowrap><font color=ffffff>
</font></td>
</tr>
<tr>
<td>
<font color=ffffff>
18:30
</font>
<input type="radio" name="Ora5" value="18:30@ @ @ " ID="5" onClick="valida()">
<td nowrap><font color=ffffff>
</font></td>
</tr>
<tr>
<td>
<font color=ffffff>
18:45
</font>
<input type="radio" name="Ora6" value="18:45@ @ @ " ID="6" onClick="valida()">
<td nowrap><font color=ffffff>
</font></td>
</tr>
<tr>
<td>
<font color=ffffff>
19:00
</font>
<input type="radio" name="Ora7" value="19:00@ @ @ " ID="7" onClick="valida()">
<td nowrap><font color=ffffff>
</font></td>
</tr>
<tr>
<td>
<font color=ffffff>
19:15
</font>
<input type="radio" name="Ora8" value="19:15@ @ @ " ID="8" onClick="valida()">
<td nowrap><font color=ffffff>
</font></td>
</tr>
<tr>
<td>
</td>
<td>
<input type="submit" name ="Prenota" value=" Prenota pausa " DISABLED>
</td>
<td>
<input type="submit" name ="Annulla" value=" Annulla prenotazione " DISABLED>
</td>
<td>
<INPUT TYPE="button" VALUE=" Torna indietro " onClick="history.back()">
</td>
</tr>
</table>
</form>
Dopo gli "@" (che uso come separatori) dovrebbero esserci i nomi degli Operatori che la parte ASP estrae da DB.
Cosa c'è che non va?
Grazie in anticipo a chiunque voglia provare a darmi una mano.
Ciao!
P.S.: aggiungo anche questa richiestuccia... qui dove lavoro mi stanno quasi imponendo di realizzare queste pagine, ma non ho alcuno strumento che possa darmi una mano... in sintesi lavoro su notepad... 
Potete consigliarmi un piccolo ambiente di sviluppo (o magari un più semplice editor) dove poter scrivere codice ASP, HTML e Javascriopt un po' più facilmente (di debug non se ne parla, purtroppo)? Se possibile scaricabile gratuitamente (ma se non ne esistono free mi adeguo).
Grazie ancora.