Ir para conteúdo

POWERED BY:

Arquivado

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

Paulo Miranda

[Resolvido] Problema com a função "length"

Recommended Posts

Boa noite amigos, estou com um pequeno problema com a função length, apesar da variável conter um valor, quando uso script abaixo, esta função me retorna "undefined"

 

if (Request.QueryString("certidao") == "certidao")
   {ano=Request.QueryString("anocertidao")
    numerocert=Request.QueryString("numcertidao")
    length = numerocert.length
    Response.Write('o valor da variáverl length é :' + length)
    while (length < 6)
      {numerocert = numerocert + "0"
       length = numerocert.length;
      }
    protocolo=ano + "/" + numerocert
   };

No response.Write, o tamanho aparece como undefined apesar do valor de numerocert ser "3006"

 

 

Agradeço antecipadamente qualquer ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você já deu uma response.write na varíavel numerocert, após receber a querystring? O resultado foi o esperado?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, retornou "3006", e era o esperado. Porem esperava 4 na função length, e no entanto veio undefined.

Tens alguma idéia do que pode ser ?

 

Obrigado !

Compartilhar este post


Link para o post
Compartilhar em outros sites

ele gera algum erro ????

como esta definido a variavel

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpe a demora em responder a seu questionamento, estava em viagem pela empresa.

 

Quanto a pergunte sobre algum erro, a resposta é não, não dá nenhuma mensagem de erro, apenas a resposta aparece como undefined.

Quanto a variável apenas a defini como mostra o código abaixo:

 

<%
// Cria as variáveis que utilizarei para consultar o banco de dados
var oConn;		
var oRs;
var oRs1;		
var filePath;		
var protocolo;
var ano;
var numerocert;
var length;
// Pega o número do "Protocolo / Certidão" do campo onde ele foi digitado na página CONSULTAS.HTM. 
// Observe que a formatação do campo onde foi digitado o número do "Protocolo/Certidão", depende do Radio Button escolhido na página CONSULTAS.HTM
if (Request.QueryString("certidao") == "certidao")
   {
	   ano=Request.QueryString("anocertidao")
	   numerocert=Request.QueryString("numcertidao")
	   length = numerocert.length
	  //Response.Write('o valor da variáverl length é :' + length)
	   while (length < 6)
	      {numerocert = numerocert + "0"
	       length = numerocert.length;
	      }
	   protocolo=ano + "/" + numerocert
//	   protocolo=Request.QueryString("anocertidao") + "/" + Request.QueryString("numcertidao")
	   };
Agradeço o seu interesse em me ajudar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

converte ela para Cstr

Compartilhar este post


Link para o post
Compartilhar em outros sites

Paulo Miranda,

 

Desculpe-me a ignorância mas este código esta misturando asp e javascritp.

 

Então realmente não funciona.

 

Na minha opinião e posso esta errado você deveria implementar tudo em asp.

 

O que você precisa é completa com zeros? Se for tente isto:

 

public function completaString(Byval sDado,Byval iTam,Byval iTipo) 
'
'	Programador: Jothaz
'	Objetivo: Preencher uma string qualquer com espaços vazios ou zeros 
'			  além do seu conteúdo até o tamanho especificado
'
'	sDado: String para ser completada
'	iTam: Tamanho da String
'	iTipo: Tipo de Dado - 0(Texto) ou 1(Número)
'
	if TypeName(sDado) <> "String" then
		sDado = CStr(sDado)
	end if
	
	if iTipo = 0 then
		if len(sDado)< iTam then
			sDado = sDado + Space(iTam - len(sDado))
			completaString = sDado
		elseif len(sDado)= iTam then
			completaString = sDado
		else
			completaString = "O tamanho é menor que a string!"
		end if
	elseif iTipo = 1 then
		if len(sDado)< iTam then
			sDado = String(iTam - len(sDado),"0") + sDado
			completaString = sDado
		elseif len(sDado)= iTam then
			completaString = sDado
		else
			completaString = "O tamanho é menor que a string!"
		end if
	end if
	
end function

E use assim:

completaString(seu_campo,tamanho,tipo)

Compartilhar este post


Link para o post
Compartilhar em outros sites

voce pode programar em ASP com Jscript, também

Compartilhar este post


Link para o post
Compartilhar em outros sites

xanburzum,

 

Talvez não tenha me expressado de maneira clara ou você não entendeu o que eu quiz dizer.

Não disse que asp e javascript não possas ser utilizados juntos.

O que afirmei é que no exemplo postado a codificação asp e os javascript estão misturados.

Ou melhor não seguem uma lógica e cada um têm o seu escopo e são proessado em momentos distintos no servidor

 

Desta forma nunca vai funcionar. Porque não esta implementada de maneira lógica e ainda por cima esta tentando retornar o resultado de uma variável manipulada no javascript para o asp.

 

Minha sugestão e somente uma sugestão seria implemetar tudo no asp (qual o motivo de se utilizar javascrit no código que foi postado) usando a função que passei.

 

Agora isto é somente minha humilde opinião.

 

Só como exemplo de asp com javascript:

   <%sOp = Request.QueryString("sOp")%>

   <script language="javascript" type="text/javascript">

        function validaCampo() {
            var campo = "";

            <%if sOp = "inc_usuarios" then %>
                campo = document.getElementById("txtCPF");
                if (!verifica_branco(campo.value)) {
                    CriticaCampo(campo, 'Campo de Preenchimento obrigatório (' + campo.title + ')!');
                    return false;
                } else {

                    if (!s_validaCPF(campo)) {
                        CriticaCampo(campo, 'O ' + campo.title + ' informado é inválido!');
                        return false;
                    }
                }
            <%end if %>

         ...... resto do script ..............  


        }
    </script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado a todos, achei muito bem bolada a função que o Jothaz me enviou, funcionou perfeitamente. Obrigado, e tabém obrigado pela dica de que como melhor organizar os programas, muito legal. Obrigado também ao Xanburzum, você tem me ajudado bastante.

 

Obrigado novamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

legal ASPmano...

 

qualquer coisa posta ae....

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.