Usuário com melhor resposta
Bloquear caracteres em TextBox criada dinâmicamente!!!!

Pergunta
-
Olá pessoal
Eu preciso de mais uma ajudinha!
Eu crio vários textboxes dinamicos em um form.
Eu preciso na criacao setar algo do tipo onkeypress=return valida(); nos textboxes que são numeros.Como eu faco isso pois nao sei chamar o javascript no lado server.
Ou tem como fazer isso no lado client utilizando textbox?
Respostas
-
Ola Heloisa,
Na hora de criar o textbox faça isso:
C#
TextBox txt = new TextBox(); txt.Attributes.Add("onkeypress","return valida()");
Isto irá adicionar o atributo onkeypress em sem textbox.
Atenciosamente
Se a resposta for útil marque como tal
Thiago Dorneles- Marcado como Resposta Heloisa Reis quarta-feira, 19 de agosto de 2009 16:58
Todas as Respostas
-
Ola,
tenho um funçao em javascript que faz isso para mim
function numeros() { tecla = event.keyCode; if (tecla >= 48 && tecla <= 57) { return true; } else { return false; } }
dai voce escreve
OnKeyPress="javascript:return numeros();"
abraço,
Leonardo B. Moreira - Web Developer .net with asp.net and C# - I know, it is only programmer but I like it.- Sugerido como Resposta ch_an_70 sábado, 8 de agosto de 2009 02:29
-
Olá Leonardo.
Eu fiz da seguinte forma e não funciona!!! No lado client. Estou utilizando C#
Ele continua permitindo inserir caracteres.
<script language="javascript" type="text/javascript"> function numeros() { tecla = event.keyCode; if (tecla >= 48 && tecla <= 57) { return true; } else { return false; } } </script>
<asp:TextBox ID="TextBox1" runat="server" OnKeyPress="javascript:return numeros();"></asp:TextBox> -
segue uma pagina exemplo
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> <script language="javascript" type="text/javascript"> function numeros() { tecla = event.keyCode; if (tecla >= 48 && tecla <= 57) { return true; } else { return false; } } </script> </head> <body> <form id="form1" runat="server"> <div> <asp:TextBox ID="TextBox1" runat="server" OnKeyPress="javascript:return numeros();"></asp:TextBox> </div> </form> </body> </html>
Leonardo B. Moreira - Web Developer .net with asp.net and C# - I know, it is only programmer but I like it. -
-
Eu retirei essa linha que voce falou aqui da minha pagina de exemplo e funcionou
quer dizer parcialmente, pois testei no firefox e ai não funcionou mais IE e Chrome deu certo
mas vamos lah qual navegador e qual versão você está testando???
posta o codigo seu aqui para eu dar uma analisada também
Leonardo B. Moreira - Web Developer .net with asp.net and C# - I know, it is only programmer but I like it. -
Ola Heloisa,
Na hora de criar o textbox faça isso:
C#
TextBox txt = new TextBox(); txt.Attributes.Add("onkeypress","return valida()");
Isto irá adicionar o atributo onkeypress em sem textbox.
Atenciosamente
Se a resposta for útil marque como tal
Thiago Dorneles- Marcado como Resposta Heloisa Reis quarta-feira, 19 de agosto de 2009 16:58
-
-
Ola Heloisa,
Você deve ter cuidado com sua função javascript.
Ela está funcionando? Não testei, mas acho que não, pois cada navegador identifica o keycode de uma maneira diferente.
Para pegar o keycode faça assim:
var keyCode = e.keyCode ? e.keyCode : (e.wich ? e.wich : false);
Assim você conseguirá pegar o keycode de quase qualquer um, e outra coisa, tem certeza que o evento que você quer é o onkeypress, teste o onkeyup ou onkeydown.
Atenciosamente
Thiago Dorneles -
-
olá,
vc precisa gerar os textbox pelo client ou server??
se for por client tente..
<script>
var tb = document.createElement("input");
tb.type = "text";
tb.onkeypress = function() { alert('aqui deve chamar a função') };
document.body.appendChild(tb);
</script>
se for por server
C#
TextBox tb = new TextBox();
tb.Attributes.Add("onkeypress","alert('aqui deve chamar a função')");
Page.Controls.Add(tb);
obs: não testei os códigos :D
Espero ter ajudado, boa sorte! Fábio Morikawa