DotNetCampania
Il primo portale campano dedicato allo sviluppo software con tecnologie Microsoft

reperire elementi contenuti in un web user control tramite javascript

rated by 0 users
Answered (Not Verified) This post has 0 verified answers | 14 Replies | 2 Followers

Top 25 Partecipanti
9 Post
Punteggio 135
Giuseppe posted on 22 lug 2009 16:19

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

  • | Punteggio Post: 20

All Replies

Top 10 Partecipanti
Maschio
292 Post
Punteggio 3.817

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à!

  • | Punteggio Post: 20
Top 25 Partecipanti
9 Post
Punteggio 135

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

  • | Punteggio Post: 20
Top 10 Partecipanti
Maschio
292 Post
Punteggio 3.817

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)

Capisc e dotnet tu? No! E allor che parl a fà!

  • | Punteggio Post: 20
Top 25 Partecipanti
9 Post
Punteggio 135

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...

  • | Punteggio Post: 5
Top 25 Partecipanti
9 Post
Punteggio 135

In allegato il file

codice.txt

  • | Punteggio Post: 20
Top 10 Partecipanti
Maschio
292 Post
Punteggio 3.817

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.

 

Capisc e dotnet tu? No! E allor che parl a fà!

  • | Punteggio Post: 20
Top 25 Partecipanti
9 Post
Punteggio 135

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

  • | Punteggio Post: 5
Top 25 Partecipanti
9 Post
Punteggio 135

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

  • | Punteggio Post: 20
Top 10 Partecipanti
Maschio
292 Post
Punteggio 3.817

le 5 textbox sono comprese nello UserControl o proprio fuori dallo UserControl?

 

Capisc e dotnet tu? No! E allor che parl a fà!

  • | Punteggio Post: 20
Top 25 Partecipanti
9 Post
Punteggio 135

No la text unica e fuori dal controllo le drop invece sono incluse nel controllo

  • | Punteggio Post: 20
Top 10 Partecipanti
Maschio
292 Post
Punteggio 3.817

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!

Capisc e dotnet tu? No! E allor che parl a fà!

  • | Punteggio Post: 20
Top 25 Partecipanti
9 Post
Punteggio 135

si infatti sto optando per una soluzione del genere.

  • | Punteggio Post: 5
Top 25 Partecipanti
9 Post
Punteggio 135

 

TxtGiudGeVoto.Text =

Convert.ToInt32(( 

int.Parse(WucPresenza.DrpList.SelectedItem.Value) +

 

 

int.Parse(WucDizione.DrpList.SelectedItem.Value) +

 

int.Parse(WucTipoStudi.DrpList.SelectedItem.Value) +

 

int.Parse(WucSpecEsp.DrpList.SelectedItem.Value) +

 

int.Parse(WucCultura.DrpList.SelectedItem.Value) +

 

int.Parse(WucLogica.DrpList.SelectedItem.Value) +

 

int.Parse(WucLavoroGruppo.DrpList.SelectedItem.Value) +

 

int.Parse(WucPotenzialita.DrpList.SelectedItem.Value)/8).ToString();

 

 

 

 

 

 

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.

  • | Punteggio Post: 20
Top 10 Partecipanti
Maschio
292 Post
Punteggio 3.817

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

Capisc e dotnet tu? No! E allor che parl a fà!

  • | Punteggio Post: 5
Pagina 1 di 1 (15 elementi) | RSS

Associazione Culturale DotNetCampania - C.F.: 95127870632

Powered by Community Server (Commercial Edition), by Telligent Systems