none
Evento de saida de um textBox RRS feed

  • Pergunta

  • Bom...

    Estou tentando evitar a utilização do ajax em minhas aplicações web, pois as funções em AJAX estão ficando MUITO lentas...

    Um simples panel.visible = true; dentro de um evento de click de um botão demora em torno de 1 a 5 segundos.

    Então estou começando a aprender JAVASCRIPT, porém não sei NADA!

    Estou querendo fazer o seguinte:

    tenho um textbox com ID = "txtEmpresa", no evento de saida desse textbox eu queria que outro textbox recebece um cálculo sobre o textbox com ID = "txtEmpresa"

    ou seja... seria algo assim em C#, e eu queria fazer isso em javascript

        protected void txtEmpresa_Leave( object sender, EventArgs e ) {
    txtMatricula = "0800" + txtEmpresa.Text;
    }


    Como eu faria isso em javascript?
    quinta-feira, 6 de março de 2008 18:22

Respostas

  • Consegui... fiz o seguinte:

    criei a função

            function Calcular(a, b)
            {
                intValor = window.document.getElementById(a).value;
                window.document.getElementById(b).value = intValor + 2;
            }

    e no page load da página eu coloquei o seguinte codigo :

    txtFamilia.Attributes.Add( "onBlur", "Calcular(" + txtFamilia.ClienteID + ", " + txtMatricula.ClienteID + ");" );
    segunda-feira, 10 de março de 2008 20:53

Todas as Respostas

  • Você pode usar o evento OnBlur do controle segue:

     

    Code Snippet
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head'>http://www.w3.org/1999/xhtml">http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>Untitled Page</title>
        <script language="javascript">
            function Calcular()
            {
                intValor = window.document.getElementById('Text1').value;
                window.document.getElementById('Text2').value = intValor + 2;
            }
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
            <div>
                <input id="Text1" type="text" onblur="Calcular()" />
                <input id="Text2" type="text" />
            </div>
        </form>
    </body>
    </html>

     

     

     

    quinta-feira, 6 de março de 2008 20:36
  • Deu certo não, eu fiz o seguinte :

    no arquivo.js eu criei a função :

            function Calcular()
            {
                intValor = window.document.getElementById('txtFamilia').value;
                window.document.getElementById('txtMatricula').value = intValor + 2;
            }

    no page load da página eu coloquei o seguinte codigo :

    txtFamilia.Attributes.Add( "onBlur", "Calcular();" );

    Porém não deu certo;
    sexta-feira, 7 de março de 2008 17:35
  • Brother fiz novamente dessa fez setando o atributo no .cs e também funcionou, veja:

     

    Code Snippet
    <head runat="server">
        <title>Untitled Page</title>
        <script language="javascript">
            function Calcular()
            {
                intValor = window.document.getElementById('TextBox2').value;
                window.document.getElementById('Text2').value = intValor + 2;
            }
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
        <asp:webpartmanager id="WebPartManager1" runat="server"/>
            <div>
                <%--<input id="Text1" type="text" onblur="Calcular()" />--%>
                <input id="Text2" type="text" />
                <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
                <asp:WebPartZone ID="WebPartZone1" runat="server">
                    <ZoneTemplate>
                    </ZoneTemplate>
                </asp:WebPartZone>
            </div>
            <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
                <Columns>
                    <asp:TemplateField><EditItemTemplate ><asp:TextBox ID="TextBox1" runat="server"></asp:TextBox></EditItemTemplate>
                        <ItemTemplate><asp:Label ID="Label1" runat="server"></asp:Label></ItemTemplate>
                    </asp:TemplateField>
                    <asp:BoundField /></Columns>
            </asp:GridView>
        </form>
    </body>

     

     



    .cs:

     

    Code Snippet

    public partial class WebForm2 : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
                TextBox2.Attributes.Add("onblur", "Calcular();");
            }
        }

     

     

    sexta-feira, 7 de março de 2008 18:48
  •             <%--<input id="Text1" type="text" onblur="Calcular()" />--%>
                <input id="Text2" type="text" />

    Eu não uso imput, eu uso textBox
    sexta-feira, 7 de março de 2008 20:10
  • Consegui... fiz o seguinte:

    criei a função

            function Calcular(a, b)
            {
                intValor = window.document.getElementById(a).value;
                window.document.getElementById(b).value = intValor + 2;
            }

    e no page load da página eu coloquei o seguinte codigo :

    txtFamilia.Attributes.Add( "onBlur", "Calcular(" + txtFamilia.ClienteID + ", " + txtMatricula.ClienteID + ");" );
    segunda-feira, 10 de março de 2008 20:53
  • Consegui... fiz o seguinte:

    criei a função

            function Calcular(a, b)
            {
                intValor = window.document.getElementById(a).value;
                window.document.getElementById(b).value = intValor + 2;
            }

    e no page load da página eu coloquei o seguinte codigo :

    txtFamilia.Attributes.Add( "onBlur", "Calcular(" + txtFamilia.ClienteID + ", " + txtMatricula.ClienteID + ");" );

    A Todos,

    Fiz da forma que está acima mas mesmo assim não consigo fazer funcionar fica sempre aparecendo o mesmo erro.

    Alguem pode me ajudar.

    Código que estou usando

    Sendo chamado no load.

    txtvltaxa.Attributes.Add("onBlur", "Calcular(" + txtvalorvenda.ClientID + ", " + txtvltaxa.UniqueID + ");");

    E a função é a seguinte.

    function

     

     

    Calcular(a, b)

    {

    intValor = window.document.getElementById(a).value;

    window.document.getElementById(b).value = intValor + 2;

    }

    e o ERRO É :

    Erro em tempo de execução do Microsoft JScript: Objeto necessário

    quarta-feira, 7 de abril de 2010 14:59