none
onblur Javascript RRS feed

  • Pergunta

  • Pessoal,

    tenho dois Textbox: Campo1 e Campo2

    preciso quando o foco sair do campo2, evento OnBlur

    Seja testado via JavaScript, se pelo menos um dos campos estão vazio, envia um alerta
    caso contrario um document.location é executado, tenho este código abaixo:

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

            function ValidaCampos(campo1, campo2) {
            //var campo1 = document.getElementById(campo1);
            //var campo2 = document.getElementById(campo2);

                if (campo1.value == "" && campo2.value == "") {
                alert("Informe Campo1 e Campo2.");
                return false;
            }
            else {
                    document.location = 'Default.aspx?Campo1=' + campo1;
                    return false;
                }
                //return true;
        }
        </script>

    No Codebehind faço assim:

    txtCampo2.Attributes.Add("onblur", "javascript:ValidaCampos('" + txtCampo1.ClientID + "','" + txtCampo2.ClientID + "');");

    porem não esta funcionando totalmente
    o que estou fazendo de errado, alguém pode me ajudar?

    Situação:

    1) var campo1 = document.getElementById(campo1); não esta funcionando
    2) na execução do javascript esta caindo no ELSE


    Maricelmo


    • Editado Maricelmo quarta-feira, 17 de setembro de 2014 16:02
    quarta-feira, 17 de setembro de 2014 16:02

Respostas

  • Boa tarde Maricelmo.

    Creio que o que você esta precisando fazer é mais ou menos isto. 

    <asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
        <script type="text/javascript">
            function TesteOnblur(campo2)
            {
                var campoA = document.getElementById('<%=TextBox1.ClientID%>').value;
                var campoB = campo2.value;
    
                if (campoA == "" && campoB == "") {
                    alert("Informe Campo1 ou Campo2.");
                    return false;
                }
    
                // somente para ver os campos
                alert(campoB + "/" + campoA);
                return true;
            }
        </script>
    </asp:Content>
    <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
    
        <asp:TextBox ID="TextBox1" runat="server" />
        <asp:TextBox ID="TextBox2" runat="server" onblur="javascript:TesteOnblur(this);"/>
    
    </asp:Content>
    

    Veja se isto já te ajuda, pois ele pega e verifica os valores do campo no evento onblur, sem a necessidade de alterar o CodeBehind.

    • Marcado como Resposta Maricelmo quarta-feira, 17 de setembro de 2014 17:18
    quarta-feira, 17 de setembro de 2014 16:24