Foros del Web » Programación para mayores de 30 ;) » .NET »

activar boton desde javascript

Estas en el tema de activar boton desde javascript en el foro de .NET en Foros del Web. Hola buenos dias, tengo una pagina aspx en la cual tengo un gridview y un boton guardar, que lo que me hace es guardar en ...
  #1 (permalink)  
Antiguo 10/03/2010, 06:52
 
Fecha de Ingreso: julio-2009
Mensajes: 60
Antigüedad: 14 años, 9 meses
Puntos: 0
activar boton desde javascript

Hola buenos dias, tengo una pagina aspx en la cual tengo un gridview y un boton guardar, que lo que me hace es guardar en una tala los datos del gridview.
Los campos del gridiew son textox que son editables.
Cuando le doy a guardar, despues de haber realizado la operacion de guardar, tengo que deshabilitar el boton de guardar y hasta ahi no hay problema.El problema llega cuando quiero volverlo a habilitar que es cuando se modifique algun textbox del gridview.
¿Alguien me puede comentar como realizar eso?
Tengo una funcion en javascript que me calcula el total de unos valores de la fila y habia pensado que cuando se relice esa funcion habilitar el boton guardar, pero no se como realizarlo.
Para llamar a la funcion de javascript lo realizo desde el evento GridView_productos_DataBound.Os pongo el procedimiento aqui y la funcion javascript.Espero me podais responder lo antes posible gracias de antemano.

Protected Sub GridView_productos_DataBound(ByVal sender As Object, ByVal e As System.EventArgs) Handles GridView_productos.DataBound

Dim i As Integer

If Me.GridView_productos.Rows.Count = 0 Then


Else
For i = 0 To Me.GridView_productos.Rows.Count - 1
' con esto lo que hace es que cuando cambia un valor del textbox, llama a la
' funcion recalcular.El evento puede ser o el OnChange o el OnBlur


CType(Me.GridView_productos.Rows(i).Cells(3).FindC ontrol("txtAnimal"), TextBox).Attributes.Add("OnChange", "recalcular_totales('" & i & "');")
CType(Me.GridView_productos.Rows(i).Cells(4).FindC ontrol("txtRumiantes"), TextBox).Attributes.Add("OnChange", "recalcular_totales('" & i & "');")
CType(Me.GridView_productos.Rows(i).Cells(5).FindC ontrol("txtPorcino"), TextBox).Attributes.Add("OnChange", "recalcular_totales('" & i & "');")
CType(Me.GridView_productos.Rows(i).Cells(6).FindC ontrol("txtCebo"), TextBox).Attributes.Add("OnChange", "recalcular_totales('" & i & "');")

CType(Me.GridView_productos.Rows(i).Cells(3).FindC ontrol("txtAnimal"), TextBox).Attributes.Add("onkeypress", "FilterNumeric()")
CType(Me.GridView_productos.Rows(i).Cells(4).FindC ontrol("txtRumiantes"), TextBox).Attributes.Add("onkeypress", "FilterNumeric()")
CType(Me.GridView_productos.Rows(i).Cells(5).FindC ontrol("txtPorcino"), TextBox).Attributes.Add("onkeypress", "FilterNumeric()")
CType(Me.GridView_productos.Rows(i).Cells(6).FindC ontrol("txtCebo"), TextBox).Attributes.Add("onkeypress", "FilterNumeric()")

'Me.btnGuardar.Enabled = True

Next

End If



End Sub

function recalcular_totales(i)
{

var a;
var b=0;
var c=0;
var d=0;
var e=0;
var j="hola";
//esto se realiza porque el ctl del la caja de texto empiza en 02
i=parseInt(i)+2;
//si es menos de 10 lo que pasa es que pone 02,03...a partir de 10 es normal
if (i<10)
j="0"+i.toString();
else
j=i;

//recupero el valor del textbox,por medio del indice.
var datoa = document.getElementById("ctl00_ContentPlaceHolder1 _GridView_productos_ctl"+j+"_txtAnimal").value;
datoa=datoa.replace(",",".");
var a=parseFloat(datoa);

var datob=document.getElementById("ctl00_ContentPlaceH older1_GridView_productos_ctl"+j+"_txtRumiantes"). value;
datob=datob.replace(",",".");
var b= parseFloat(datob);

var datoc=document.getElementById("ctl00_ContentPlaceH older1_GridView_productos_ctl"+j+"_txtPorcino").va lue;
datoc=datoc.replace(",",".");
var c= parseFloat(datoc);

var datod=document.getElementById("ctl00_ContentPlaceH older1_GridView_productos_ctl"+j+"_txtCebo").value ;
datod=datod.replace(",",".");
var d=parseFloat(datod);

e=document.getElementById('ctl00_ContentPlaceHolde r1_GridView_productos_ctl'+j+'_txtTotal');



/*
a=parseFloat(document.getElementById("ctl00_Conten tPlaceHolder1_GridView_productos_ctl"+j+"_txtRumia ntes").value);
b=parseFloat(document.getElementById("ctl00_Conten tPlaceHolder1_GridView_productos_ctl"+j+"_txtRumia ntes").value);
c=parseFloat(document.getElementById("ctl00_Conten tPlaceHolder1_GridView_productos_ctl"+j+"_txtPorci no").value);
d=parseFloat(document.getElementById("ctl00_Conten tPlaceHolder1_GridView_productos_ctl"+j+"_txtCebo" ).value);
e=document.getElementById('ctl00_ContentPlaceHolde r1_GridView_productos_ctl'+j+'_txtTotal');
*/
//a=a.Replace('.',',');
//a = a.replace(/./g,",")

if (isNaN(a))
a=0;
if (isNaN(b))
b=0;
if (isNaN(c))
c=0;
if (isNaN(d))
d=0;

e.value=Math.round((parseFloat(a+b+c+d)*100))/100;
//e.value=(a+b+c+d);

//e.value=parseFloat(a+b+c+d);


a=a.toString().replace(".",",");
b=b.toString().replace(".",",");
c=c.toString().replace(".",",");
d=d.toString().replace(".",",");
e.value = e.value.toString().replace(".",",");

//viewstate("modificado")=1;
// aqui lo que hago es modificar el valor del campo oculto para que al darle al salir
// me pregunte si quiero guardar los cambios
document.getElementById('ctl00_ContentPlaceHolder1 _HiddenField_modificado').value=1;

}
  #2 (permalink)  
Antiguo 10/03/2010, 09:18
 
Fecha de Ingreso: julio-2009
Mensajes: 60
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: activar boton desde javascript

ya he conseguido hacerlo.Con la siguiente instruccion:

document.getElementById("btnID").disabled = false o true dependiendo de que se quiera hacer si habilitar o deshabilitar.

Un saludo a todos los foreros.

Etiquetas: javascript, botones
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:22.