Salve a tutti ho un problema con una select dinamica
Ho una maschera di login composta da due campi input (id e password) e due select (reparto e descrizione) gestite attraverso una classe.
Il campo descrizione dovrebbe valorizzarsi in base alla scelta del campo reparto, ma una volta selezionato quest'ultimo il browser mi da il seguente errore:
HTTP 405 - Risorsa non consentita
Internet Information Services
In pratica fa la submit come se non avesse il parametro action.
Vi posto il codice sperando che alla vigilia di capodanno ci sia ancora qualcuno!
CLASSE CLASSEREPARTO.ASP
<%
class DinamicSelect
public SelectText 'impostare il nome del campo del database che verrà visualizzato nella lista
public SelectValue 'impostare il nome del campo del database che verrà passato come valore della lista
public Selected 'impostare la voce che verrà visualizzata nella lista al caricamento di pagina
public DataBase 'impostare l'url del database
public sql 'impostare la query per estrarre i dati
public Evento 'impostare l'evento che provvederà al submit "parziale" del form
public NomeCampo 'impostare il nome del campo (nell'ambito del form)
public ValoreDefault 'impostare il valore di default per le select (nell'ambito del form)
public Style 'impostare la formattazione per le select (nell'ambito del form)
public Status 'impostare il campo nell'ambito del form in output (modificabile/non modificabile)
function CreaDinamicSelect()
if me.NomeCampo = "reparto" then%>
<select name='<%=me.NomeCampo%>' style='<%=me.Style%>' <%=me.Evento%>>
<%
else%>
<select disabled='<%=me.Status%>' name='<%=me.NomeCampo%>' style='<%=me.Style%>' <%=me.Evento%>>
<%
end if
set rs=server.createobject("adodb.recordset")
rs.open me.sql,objconn,3,3
%>
<option selected><%=me.ValoreDefault%></option>
<%
do until rs.eof
%>
<option value='<%=rs(me.SelectValue)%>'
<%if Ucase(trim(rs(me.SelectValue))) = Ucase(trim(me.selected)) then
response.write("selected")
end if
%>>
<%=rs(me.SelectText)%></option>
<%
rs.movenext
loop
%>
</select>
<%
rs.close
set rs = nothing
end function
end class
%>
SCRIPT LOGIN.ASP CHE RICHIAMA LA CLASSE
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<% Response.Buffer=True%>
<%
'ISTRUZIONI PER LA CLASSE
reparto=request("reparto")
descrizione=request("descrizione")
%>
<HTML>
<HEAD>
<script language="JavaScript">
<!--
function vaiURL(q)
{
var form=document.forms[0]
var testo=form.what.value
window.open("http://www.google.it/search?q="+testo,'esempio')
return ""
}
//-->
</script>
<script language="JavaScript">
function aggiorna_reparto(){
document.srv.submit();
}
function aggiorna_descrizione(){
document.srv.submit();
}
function submit_finale(){
var check;
check="true";
var numero = document.srv.idutente.value;
if (check=="true") {
if ((document.srv.reparto.value=="Scegli un reparto"))
{
alert("Tutti i campi devono essere selezionati!");
check="false";
}
}
if (isNaN(numero))
{
alert("ATTENZIONE! Nel campo id utente devi inserire numeri ");
check="false";
}
else if (document.srv.idutente.value == "")
{
alert('Inserire l\'utente');
check="false";
}
else if (document.srv.password.value == "")
{
alert('Inserire la password di accesso');
check="false";
}
else if (document.srv.reparto.value == "")
{
alert('Inserire il reparto');
check="false";
}
if (check=="true") {
document.srv.action=("login.asp?save=<%="yes"%>");
document.srv.submit();
}
}
</script>
</head>
<TITLE>home</TITLE>
<link rel="stylesheet" href="/css/base.css">
<body>
<%
dim errore
errore=Request.QueryString("errore")
If Request.QueryString("save")="yes" then
dim rs, sql
set RS=Server.CreateObject("ADODB.Recordset")
sql="Select id, Riparazioni, Produzioni, Report, Tabelle, Abilitazioni, Reparto from T_utenti where id = " & cint(Request.form("idutente"))
RS.ActiveConnection=Objconn
RS.Open(sql),Objconn,1,3
if rs.EOF or rs.BOF then%>
<p align="Center"><font face='Verdana, Tahoma' size=2 color="#c31014">Utente o Password non riconosciuti</font></p>
<form>
<input type="button" value="Indietro" align="absmiddle" style="margin-left:588px " onClick="javascript:history.back()" name="button">
</form> <%
else
session("UID")=RS.fields(0)
fnzRip=RS.fields(1)
session("fnzRip")=fnzRip
fnzProd=RS.fields(2)
session("fnzProd")=fnzProd
fnzRep=RS.fields(3)
session("fnzRep")=fnzRep
fnzTab=RS.fields(4)
session("fnzTab")=fnzTab
fnzAbi=RS.fields(5)
session("fnzAbi")=fnzAbi
'reparto=RS.fields(6)
reparto=Request.form("reparto")
session("reparto")=reparto
session("autorizzato")=True%>
<%
end if
rs.Close
set rs=nothing
else%>
<div style="margin-left:648px;">[img]immagini/logo.jpg[/img]</div>
<form method="POST" id=form1 name="srv">
<div style="margin-left:548px; width:255px ">
<span class="gray_light small">Area Riservata</span>
<div style="margin-left:2px " class="gray_light small">Id Utente
<input type="text" style="width:90px; height:18px; font-family:tahoma; font-size:11px; margin-left:58px" name=idutente>
</div>
<div style="margin-left:2px " class="gray_light small">Password
<input type="password" style="width:90px; height:18px; font-family:tahoma; font-size:11px; margin-left:50px" name=password>
</div>
<div style="margin-left:2px ">Reparto:
<%
set dinselectreparti = new DinamicSelect
if len(Reparto) > 0 then
dinselectreparti.selected = Reparto 'voce che verrà visualizzata nella lista al caricamento di pagina
else
dinselectreparti.selected = "Scegli un reparto" 'voce che verrà visualizzata nella lista al caricamento di pagina
end if
dinselectreparti.sql = "select codicereparto from T_Reparti" 'query per estrarre i dati
dinselectreparti.SelectValue = "codicereparto" 'nome del campo del database che verrà passato come valore della lista
dinselectreparti.SelectText = "codicereparto" 'nome del campo del database che verrà visualizzato nella lista
dinselectreparti.evento = "onChange='aggiorna_reparto();'" 'evento che provvederà al submit "parziale" del form
dinselectreparti.NomeCampo = "reparto" 'nome del campo (nell'ambito del form)
dinselectreparti.ValoreDefault = "Scegli un reparto" 'valore di default per le select (nell'ambito del form)
dinselectreparti.Style= "font-family:tahoma; font-size:11px; margin-left:59px " 'formattazione per le select (nell'ambito del form)
dinselectreparti.CreaDinamicSelect()
%>
</div>
<div style="margin-left:2px ">Descrizione:
<%
set dinselectdescrizioni = new DinamicSelect
reparto= trim(Request("reparto"))
if len(reparto) > 0 then
dinselectdescrizioni.sql = "Select descrizione from T_Reparti where codicereparto='"&reparto&"'"
else
dinselectdescrizioni.sql = "Select descrizione from T_Reparti where codicereparto='"&reparto&"'"
end if
dinselectdescrizioni.sql = "Select descrizione from T_Reparti where codicereparto='"&reparto&"'"
dinselectdescrizioni.selected = descrizione
dinselectdescrizioni.SelectValue = "descrizione"
dinselectdescrizioni.SelectText = "descrizione"
dinselectdescrizioni.evento = "onChange='aggiorna_descrizione();'"
dinselectdescrizioni.NomeCampo = "descrizione"
dinselectdescrizioni.ValoreDefault = "Scegli una descrizione"
dinselectdescrizioni.Status = true
dinselectdescrizioni.Style= "font-family:tahoma; font-size:11px; margin-left:40px "
dinselectdescrizioni.CreaDinamicSelect()
%>
</div>
<div style="margin-left:10px ">
<br style="line-height:5px ">
<br style="line-height:5px ">
<INPUT type="button" value="login" name="b1" align="absmiddle" style="margin-left:102px " onClick="javascript: submit_finale();">
</div>
</div>
</form>
<%
End If
%>
</BODY>
</HTML>
Grazie.

Rispondi quotando