Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Milks

Referência a arquivo Javascript no C#

Recommended Posts

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

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

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

Coloque aqui sua função, a função está retornando algum valor?

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.