Ir para conteúdo
Fórum Script Brasil
  • 0

(resolvido) Agrupar funções Javascript


Daniel_MV

Pergunta

Bom dia, gostaria de uma ajuda.

Eu tenho uma página de cadastro em asp.net / C# , com 4 textbox de preenchimento obrigatório, estou fazendo as validações de preenchimento desses textbox em javascript, para não ficar dando postback na página.

Antes era mais fácil , eu tinha um campo com razão social que eu validava no click e um campo com cnpj que eu valido no onblur, se estiver fora da regra do cnpj ele oculta o botão de enviar, assim o botão só fica ativo novamente quando o cnpj está ok.

Agora apareceram mais 2 textbox de preenchimento obrigatório, mas sem uma regra definida como no caso do cnpj, então eu gostaria de validar da mesma maneira que o campo da razão social, no clique, caso esteja vazio ele seta o foco e mostra um label de advertência em baixo.

Eu gostaria de agrupar essas 3 funções em uma só, para jogar essa única função no onClientClick, mas não estou conseguindo, ele valida a primeira que é a da razão social, porém se eu preencher esse campo e não preencher os outros dá pau, ele passa pelo javascript e envia os dados, gerando a exceção que criei lá no C#.

Vou postar o código abaixo, agradeço a ajuda.

function validarRazaoSocial()
{
    var confirmacao = true;
    
    if ( (document.getElementById('ctl00_ContentPlaceHolder1_txtNome').value*1==0) || (document.getElementById('ctl00_ContentPlaceHolder1_txtNome').value=='') )
    {
        document.getElementById('ctl00_ContentPlaceHolder1_txtNome').focus();
        document.getElementById('ctl00_ContentPlaceHolder1_lblNome').style.display = 'block';
        confirmacao = false;
    }
    
    return confirmacao;
}

function validarIdSubSistema()
{
    var confirmacao = true;   
       
    if ( (document.getElementById('ctl00_ContentPlaceHolder1_txtIdSubSistema').value=='') )
    {
        document.getElementById('ctl00_ContentPlaceHolder1_txtIdSubSistema').focus();
        document.getElementById('ctl00_ContentPlaceHolder1_lblErroIdSubSistema').style.display = 'block';
        confirmacao = false;
    }
    
    return confirmacao;   
}

function validarCodHistoricoliquidacao()
{
    var confirmacao = true;   
       
    if ( (document.getElementById('ctl00_ContentPlaceHolder1_txtCodHistoricoliquidacao').value=='') )
    {
        document.getElementById('ctl00_ContentPlaceHolder1_txtCodHistoricoliquidacao').focus();
        document.getElementById('ctl00_ContentPlaceHolder1_lblErroCodHistoricoliquidacao').style.display = 'block';
        confirmacao = false;
    }
    
    return confirmacao;
}

function validarFuncoes()
{
    return validarRazaoSocial();
    return validarCodHistoricoliquidacao();
    return validarIdSubSistema();    
    
}
<asp:Button CssClass="button" ID="enviar" runat="server" OnClientClick="java script:return validarFuncoes();" Text="Enviar" OnClick="enviar_Click" />

Editado por Daniel_MV
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Consegui resolver, dei uma olhada no código de outras páginas aqui que os caras fizeram, e criei uma função só:

function validarFuncoes()
{
    var confirmacao = true;
    
     if ( (document.getElementById('ctl00_ContentPlaceHolder1_txtNome').value*1==0) || (document.getElementById('ctl00_ContentPlaceHolder1_txtNome').value=='') )
    {
        document.getElementById('ctl00_ContentPlaceHolder1_txtNome').style.borderColor = '#FF0000';
        document.getElementById('ctl00_ContentPlaceHolder1_txtNome').focus();
        document.getElementById('ctl00_ContentPlaceHolder1_lblNome').style.display = 'block';
        confirmacao = false;
    }
        
    if ( (document.getElementById('ctl00_ContentPlaceHolder1_txtIdSubSistema').value=='') )
    {
        document.getElementById('ctl00_ContentPlaceHolder1_txtIdSubSistema').style.borderColor = '#FF0000';
        document.getElementById('ctl00_ContentPlaceHolder1_txtIdSubSistema').focus();
        document.getElementById('ctl00_ContentPlaceHolder1_lblErroIdSubSistema').style.display = 'block';
        confirmacao = false;
    }
            
       
    if ( (document.getElementById('ctl00_ContentPlaceHolder1_txtCodHistoricoliquidacao').value=='') )
    {
        document.getElementById('ctl00_ContentPlaceHolder1_txtCodHistoricoliquidacao').style.borderColor = '#FF0000';
        document.getElementById('ctl00_ContentPlaceHolder1_txtCodHistoricoliquidacao').focus();
        document.getElementById('ctl00_ContentPlaceHolder1_lblErroCodHistoricoliquidacao').style.display = 'block';
        confirmacao = false;
    }

    return confirmacao;
}

E lá no onClientClick eu chamo essa função.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...