Salve ragazzi, Dovrei trovare un metodo per riuscire a reperire tramite javascript un elemento interno al mio controllo. Esempio: il mio web control è composto da tre controlli (Label,textbox, e una dropdown) e devo accedere a dropdown.selecteditem.value
drpDown.attributes.add("onchange","javascript:CalcAverage())
quello che devo fare è calcolare una media, ho controlli di tipo WucVoto sulla mia pagina
<td class="style3"> <uc1:WucVoto ID="WucPresenza" runat="server" Caption="Presenza"/> </td> <td> <uc1:WucVoto ID="WucDizione" runat="server" Caption="Dizione"/> </td> </tr> <tr> <td class="style3"> <uc1:WucVoto ID="WucTipoStudi" runat="server" Caption="Tipo Studi" /> </td>
La media dovrebbe calcolarsi lato client ogni qualvolta modifico un valore nella dropDown. Sono riuscito a reperire il controllo semplicemente passandogli il this come parametro della function creata.(solo che funziona con tutti icontrolli ovviamente e non ad esempio solo con WucPresenza). Non riesco però ad accedere alla drop singola di WucPresenza e poi calcolare la media. Esempio (WucPresenza + wucDizione)/2 . Spero di essere stato chiaro..Aiutatemi Grazie
il mio web control è composto da tre controlli (Label,textbox, e una dropdown) e devo accedere a dropdown.selecteditem.value
Ma è uno UserControl?
Comunque ti lascio un link che ti potrebbe aiutare, consiste nel dare alla tua funzione il client id del controllo asp.net da cui poi puoi fare un GetElementById e ritornare il tuo valore per poter effettuare la media. + o - ti è chiaro?
Il link è questo:
http://www.dotnetfunda.com/articles/article72.aspx
Capisc e dotnet tu? No! E allor che parl a fà!
si è uno user control. Ho dato un occhio a quella pagina ma accede sempre al primo oggetto.
Supponiamo che io debba entrare in questo modo
UserControl.Drop riesco sempre ad arrivare a usercontrol e non entro in drop
Giuseppe: si è uno user control. Ho dato un occhio a quella pagina ma accede sempre al primo oggetto. Supponiamo che io debba entrare in questo modo UserControl.Drop riesco sempre ad arrivare a usercontrol e non entro in drop
Se hai la possibilità di postarmi un pò di codice, non solo quello dell'aspx, ma anche quelo code-behind o javascript ci do un'occhiata e cerco di capire meglio come provi ad accedere. Inoltre, tu avrai differenti userControl nella stessa pagina? (te lo chiedo perchè tu mi dici che accede solo al primo)
si ho otto controlli dello stesso tipo. Quando scaturisco l'onchange della drop1 del UsrCtrl1 dovrebbe prendere i valori contenuti nelle altre sette drop degli altri controlli e fare la media...
In allegato il file
codice.txt
DDLJsExample.zip
ehm... mi pare un pò lunghetto come codice, se puoi allegarmi l'aspx forse è meglio, perchè non ci capisco molto così. Nel frattempo ti allego un semplice codice che ritorna l'id selezionato da una combobox. Come vedrai dal codice, ho messo 5 dropdownlist in una pagina aspx e ogni dropdownlist è contenuta in uno user control. Guardatelo e dimmi se ti è d'aiuto, altrimenti mi alleghi il codice in uno zip. Se puoi, modifica il post "lunghisssiiimoooooo" altrimenti sono costretto a moderarlo.
Si se puoi moderarlo forse è meglio, non sono riuscito a trovare un tag [code] mi dispiace....
Cmq cerco di vedere l'esempio e appena ho un attimo ti faccio sapere...
Intanto Grazie Mille
Ciao Antonio il tuo codice funziona perfettamente. Purtroppo però mi sono imbattuto in un altro problema.
Supponiamo di avere un textBox nel Default.aspx.
Questa text deve assumere i valori di
(Ddl1 + Ddl2 + Ddl3 + Ddl4 +Ddl5 ) / 5. Però deve essere dinamica ogni volta al onchange di una drop la text deve contenere la media).
Con il tuo sistema io riesco a reperire sempre e solo un singolo valore come posso fare????
Grazie
le 5 textbox sono comprese nello UserControl o proprio fuori dallo UserControl?
No la text unica e fuori dal controllo le drop invece sono incluse nel controllo
Scusa ma il tutto sempre in javascript? Non ti converrebbe usare i metodi di code behind che ti faciliterebbero le cose? Se hai il problema del ricaricamento della pagina, puoi sempre scegliere ajax!
si infatti sto optando per una soluzione del genere.
TxtGiudGeVoto.Text =
Convert.ToInt32((
int.Parse(WucPresenza.DrpList.SelectedItem.Value) + int.Parse(WucDizione.DrpList.SelectedItem.Value) +
Questo è il codice .cs però la funzione javascript io ce l'ho nel controllo e quindi non vedo questa Text che è nel Default.Aspx. Se riuscissi a vederla mi basterebbe semplicemente fare che all'onchange il valore della text viene aggiornato.
Ti mando in allegato una versione con UserControl e Ajax che funziona correttamente. In pratica per fare interagire lo UserControl con la pagina in cui è contenuta devi creare un evento, che sarà poi esposto dallo UserControl stesso. Guardati il codice e per qualsiasi problema non esitare a postare.
DDLJsExampleAjax.zip
Associazione Culturale DotNetCampania - C.F.: 95127870632