Buongiorno a tutti.
Premetto che ho lacune in javascript, ma siccome mi hanno consigliato di usarlo per risolvere il mio problema...
Su un repeater ho un textbox (numerico)
Al cambiare di questo textbox (o megli alla validazione) devo modificare il contenuto di un altro textbox eseguendo del codice JavaScript con accesso a sqlServer.
Pare però si pianta ll'assegnazione degli oggetti in variabili.
Il codice in vbNet è il seguente:
codice:Protected Sub RepeaterDip_ItemCreated(sender As Object, e As System.Web.UI.WebControls.RepeaterItemEventArgs) Handles RepeaterDip.ItemCreated If e.Item.ItemType = 0 Then Exit Sub Dim txt1 As TextBox = e.Item.FindControl("txtLordo") Dim txtRes As TextBox = e.Item.FindControl("txtAccantonamento") Dim lblCdDip As Label = e.Item.FindControl("lblCodice") txt1.Attributes.Add("onkeyup", String.Format("MakeTotal({0},{1},{2},{3},{4});", Periodo, lblCodiceAzienda.Text, lblCdDip.ClientID, txt1.ClientID, txtRes.ClientID)) End Sub
In JavaScript invece è il seguente:
mi aspetterei che, cambiando il valore sul txtLordo del repeater, si modificasse il valore sul txtAccantonamento, ma il programma sui pianta a questa riga di codice javascript:codice:<script language='javascript' type='text/javascript'> function MakeTotal(Periodo, CdAzienda , CdDipendente , Lordo , txtRes) { var olblCdDip = $get(CdDipendente); var oTxtLordo = $get(Lordo); var connection = new ActiveXObject("ADODB.Connection") ; var connectionstring="Data Source=aaaa;Initial Catalog=bbbb;User ID=cccc;Password=dddd;Provider=SQLOLEDB"; connection.Open(connectionstring); var rs = new ActiveXObject("ADODB.Recordset"); rs.Open("select [dbo].[RecalcAccantonamento]("+Periodo+",'"+CdAzienda+"','"+CdDipendente+"',"+Lordo+")", connection); rs.MoveFirst var Strreturn=rs.fields(1) rs.close; connection.close; $get(txtRes).value = strreturn; return false; } </script>
var olblCdDip = $get(CdDipendente);
qualcuno sa dirmi dove sbaglio?
grazie mille.
Marco

Rispondi quotando