- Home
- Categorie
- Coding e Sistemistica
- Altri linguaggi per il web
- Eseguire query javascript
-
Eseguire query javascript
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 aal validazione) devo modificare il contenuto di un altro textbox eseguendo del codice JavaScript con accesso a sqlServer.
Pare però che il codice non venga lanciato.
Il codice in vbNet è il seguente: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") txt1.Attributes.Add("onkeyup", String.Format("MakeTotal({0},{1},{2},{3},{4});", Periodo, lblCodiceAzienda.Text, lblCodDipendente.Text, txt1.Text, txtRes.ClientID)) End Sub
In JavaScript invece è il seguente:
<script language='javascript' type='text/javascript'> function MakeTotal(Periodo, CdAzienda , CdDipendente , Lordo , txtRes) { 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>
mi aspetterei che, cambiando il valore sul txtLordo del repeater, si modificasse il valore sul txtAccantonamento, ma sembra non accadere niente
qualcuno sa dirmi dove sbaglio?
grazie mille.
Marco.
-
Riformulo la domanda, perchè era mal posta:
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: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:
<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>
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:
var olblCdDip = $get(CdDipendente);
qualcuno sa dirmi dove sbaglio?
grazie mille.
Marco.