Milks 0 Denunciar post Postado Maio 25, 2009 Bom dia! Estou desenvolvendo uma aplicação em C#.net. Tenho uma máscara que permite somente números no meu textbox. Criei a referência da função que está no arquivo sonumeros.js dentro da página do formulário e no Page_Load, porém ela só está funcionando se o código estiver diretamente na página ascx. O que pode estar acontecendo? Obrigada! Meu ascx: <script type="text/javascript" language="javascript" src="sonumeros.js"> </script> Meu ascx.cs: protected void Page_Load(object sender, EventArgs e) { txtCodLog.Attributes.Add("OnKeyDown", "this.value=numeros(this.value)"); txtCodLog.Attributes.Add("OnKeyUp", "this.value=numeros(this.value)") } Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Maio 25, 2009 Os dois arquivos estão no mesmo nível de pastas? Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
Milks 0 Denunciar post Postado Maio 25, 2009 Sim. Os dois arquivos estão na mesma pasta. Os dois arquivos estão no mesmo nível de pastas? Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Maio 25, 2009 Acredito que é a forma com que esta passando então: this.value=numeros(this.value) Qual o nome do seu método no JavaScript? Você não pode passar o this, pois sua função não esta no seu formulário. Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
Milks 0 Denunciar post Postado Maio 25, 2009 O nome do método é 'numeros'. Acredito que o erro esteja aí mesmo onde eu chamo a função. Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Maio 25, 2009 Já tentou desta forma: protected void Page_Load(object sender, EventArgs e) { txtCodLog.Attributes.Add("OnKeyDown", "numeros(this.value)"); txtCodLog.Attributes.Add("OnKeyUp", "numeros(this.value)") } Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
Milks 0 Denunciar post Postado Maio 26, 2009 Já tentei. Não funciona. Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Maio 26, 2009 Poste o JavaScript ae. Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
Oenning 0 Denunciar post Postado Maio 26, 2009 Coloque aqui sua função, a função está retornando algum valor? Compartilhar este post Link para o post Compartilhar em outros sites
Milks 0 Denunciar post Postado Maio 26, 2009 Sim. Ela retorna valor. function numeros(S){ //'S' é o valor que o usuário escreveu na TextBox var Digitos = "0123456789"; //Você escreve aqui o caractéres permitidos var temp = ""; //Essa variavel vai ser resultante da comparação var digito = ""; //Essa variavel vai servir de auxilio para a comparação //Aqui vai ser loop de comparação for (var i=0; i<S.length; i++) { //'digito' recebe o caracter da posição 'i' da variavel 'S' digito = S.charAt(i); //Compara se o caracter da variavel 'digito' têm na variavel 'Digito' if (Digitos.indexOf(digito)>=0){temp=temp+digito;} } //Retorna o resultado da comparação return temp; } Compartilhar este post Link para o post Compartilhar em outros sites
Juliano.net 2 Denunciar post Postado Maio 26, 2009 E qual erro acontece? Compartilhar este post Link para o post Compartilhar em outros sites
Milks 0 Denunciar post Postado Maio 26, 2009 Quero que a página funcione com a função javascript em um arquivo separado, mas ocorre o erro "Objeto esperado". Se eu colocar a função diretamente na página, funciona normalmente. Compartilhar este post Link para o post Compartilhar em outros sites
Oenning 0 Denunciar post Postado Maio 28, 2009 Tenta adicionar referência usando isso na sua página: <asp:ScriptManager ID="ScriptManager" runat="server"> <scripts> <asp:ScriptReference Path="~/CaminhoDoSeu.js" /> </Scripts> </asp:ScriptManager> Se não der certo, tenta colocar a referência <script> na página aspx, e não no ascx. Compartilhar este post Link para o post Compartilhar em outros sites
Milks 0 Denunciar post Postado Maio 29, 2009 Adicionei a referência com <scripts>, mas não funcionou. Não tenho como adicionar na página aspx porque o meu formulário está num Web User Control. Compartilhar este post Link para o post Compartilhar em outros sites