No se puede obtener la función Javascript para fuego de un cuadro de texto en un gridview

StackOverflow https://stackoverflow.com/questions/1330058

Pregunta

Tengo un cuadro de texto en el ItemTemplate de un Gridview. En el caso _RowDataBound agrego un atributo a la caja de texto, así:

TextBox txtQuantity = (TextBox)e.Row.FindControl("txtQuantity");
txtQuantity.Attributes.Add("onkeypress", "CheckInputForNumeric(event)"); 

Y simplemente no se disparará una función JS.

He intentado hacer onclick, onBlur onKeyPress ... incluso intentado cambiar el caso a: onclick, onBlur, onkeypress ... nada parece ser capaz de disparar mi función JS

.

en otro lugar en esa misma página que tengo:

    txtAddMarkup.Attributes.Add("onkeypress", "CheckInputForNumeric(event)");

(que cuadro de texto no está en un gridview) y esto funciona muy bien.

estoy totalmente atascado y frustrado en este momento porque parece que no importa lo que haga, no puedo conseguir este cuadro de texto para disparar una función de JavaScript

¿Fue útil?

Solución

Por favor, ejecutar el proyecto y observe el nombre del cuadro de texto generado mediante la visualización de la fuente en el broswer (IE, Firefox, Safari, lo que sea). Es probable que note que el nombre del cuadro de texto ha cambiado. Gracias, ASP.

No se puede utilizar el DOM para acceder a los elementos por su nombre porque se cambió el nombre para ti.

Otros consejos

Por alguna razón, la eliminación de archivos temporales de Internet y volver a cargar la página no estaba recibiendo los más nuevos Js. Tuve que descargar el proyecto y volver a construirlo. Lo cual es raro porque nunca he tenido que hacerlo antes para otros controles

Gracias por sus entradas!

probar esto:

TextBox txtQuantity = (TextBox)e.Row.FindControl("txtQuantity");
txtQuantity.Attributes.Add("onkeypress", "CheckInputForNumeric(event)");

txtQuantity.Attributes["onkeypress"] =
    string.Format("javascript:CheckInputForNumeric(this,'{0}','{1}','{2}');", argument1, argument2, argument3);

o simplemente

txtQuantity.Attributes["onkeypress"] =
    string.Format("javascript:CheckInputForNumeric (this);");
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top