55 messaggi dal 14 febbraio 2001
buongiorno ,
non riesco a districarmi da un inghippo che mi pare tuttavia semplice :-((((

popolo una list box con i valori di un recordset ,utilizzando "categoriaID" per l'option value e "categoria" per il testo visualizzato. sul cambiando della select recupero i valori selezionati con una funzione javascript "impCat" che mi imposta i valori di due campi nascosti.
Ora io vorrei recupare anche un terzo valore dal recordset che è "gerarchia" , ma diciamo non so "dove scriverlo" in quanto nella select non posso scrivere altri valori .

Riassumendo dalla query recupero "categoriaID" , "categoria","gerarchia" , ma non riesco a scriverli tutti .
Come potrei fare ?

Grazie
Federica

<select name="categoria" onchange="javascript:impCat(options[selectedIndex].value,options[selectedIndex].text);" CLASS="clsSelect">
<option value="1">Scegli........... </option>
<% Do While Not rs.EOF %>
<option value="<%=rs("categoriaID")%>">
<%=rs("categoria")%>
</option>

<%
rs.MoveNext ()
Loop

%>
</select>


5 messaggi dal 06 giugno 2002
Recuperarla successivamente con un'interrogazione al database no?

55 messaggi dal 14 febbraio 2001
ci sto provando :-(( ma non se forzo il ricaricamento della pagina da javascript, mi manda alla pagina della azione del form :-(((

cmq thanks
fede



55 messaggi dal 14 febbraio 2001
non funziona, :-(((((((((
javascript continua a restituirmi questo messaggio "azione non
valida per l'oggeto ".

le funzioni javascript sono:
__________________________________________________
function impCat( x,y ){
document.f.cat.value= x ;
document.f.catd.value= y ;
document.getElementById('t_categorie').firstChild.nodeValue="";


return ;
}
___________________________________________________
function invio(){
k = document.f.categoria.options[document.f.categoria.selectedIndex].value ;
document.f.action('inserisciCategorie.asp?categoriaID='+k);
}
___________________________________________________
se nella funzione invio sostituisco document.f.action con document.f.submit non mi ricaricarica la pagina ma va a quella associata all'azione del form..:-((
e il codice nella pagina :


<select name="categoria" onchange="javascript:impCat(options[selectedIndex].value,options[selectedIndex].text);invio();" CLASS="clsSelect">
<option value="0" selected>Scegli........... </option>
<% Do While Not rs.EOF %>
<option value="<%=rs("categoriaID")%>">
<%=rs("categoria")%>
</option>

<%
rs.MoveNext ()
Loop

%>
</select>

<% if len(IDcategoria) > 0 then
Set rsCAT = Server.CreateObject("ADODB.Recordset")
sqlCAT = "SELECT * from categoria where categoriaID=" &Request("categoria")
rsCAT.Open sqlCAT, myconn


%>
<input type="text" name="gerarchia" value="<%=rsCAT("gerarchia")%>" class="clsSelect">gerarchia
<%else %>
<input type="text" name="gerarchia" value="" class="clsSelect">gerarchia
<% end if %>

_______________________

grazie
fede

5 messaggi dal 06 giugno 2002
Potresti definire un array javascript i cui valori vengono inseriti dalla pagina ASP dinamicamente in base al recordset.

<script>
ar=array()
<%
rs.movefirst
i=0
do while not rs.eof
response.write "ar("&i&")="&rs("gerarchie")
i+1
rs.movenext
loop
%>
</script>

11.886 messaggi dal 09 febbraio 2002
Contributi
altrimenti puoi ammucchiare tutti i valori che vuoi nella proprietà value, separando ogni campo con un ;
Mi spiego meglio.

Tu vuoi che nella select, venga visualizzato un nome ("categoria") che è associato a due valori ("categoriaID" e "gerarchia").
Costrusci così la tua select:

<select name="categoria" onchange="javascript:impCat(options[selectedIndex].value,options[selectedIndex].text);" CLASS="clsSelect">
<option value="1">Scegli........... </option>
<% Do While Not rs.EOF %>
<option value="<%=rs("categoriaID")&";"&rs("gerarchia")%>">
<%=rs("categoria")%>
</option>

vedi che ho aggiunto questo?
="<%=rs("categoriaID")&";"&rs("gerarchia")%>">

così ti basta modificare di poco la funzione impCat per ottenere quello che vuoi.

function impCat( x,y ){
temparray = x.split(";")
document.f.cat.value= temparray[0] ;
document.f.gerarchia.value= temparray[1] ;
document.f.catd.value= y ;
document.getElementById('t_categorie').firstChild.nodeValue="";


return ;
}

praticamente con uno split ho diviso i due elementi: catId e gerarchia. Un esempio di select che ti viene fuori è questo:
<select .....
<option value="catid;gerarchia">Nome categoria</option>



-----------------------
Da una perla dal saggio:
Quando non hai capito, devi dire "non ho capito", no che dici che hai capito e invece non hai capito un cavolo. Hai capito?
-----------------------

Enjoy learning and just keep making
55 messaggi dal 14 febbraio 2001
ti ringrazio.
ma dopo un poì di sbattimento ce l'ho quasi fatta. Ora riesco a ricaricare la pagina e ripassare i valori, "solo" che perdo la voce selezionata che avevo scelto :-((((((((((((

fede

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.