none
Code behind e javascript RRS feed

  • Pergunta

  • Pessoal,
    Tenho um botao que apos sejam validados todos os campos, execute um metodo Javascript.
    Tinha tentado colocar a opcao OnClientClick junto no botao abaixo, mas dai antes mesmo de validar os campos, ele ja executa o metodo Javascript.

    NA PAGINA ASPX
    <asp:Button ID="btnFase1" runat="server" Text="Próximo" OnClick="btnFase1_Click" ValidationGroup="CreateUserWizard1" />

    <script type="text/javascript">
            function chama() {
                alert("chamou");
            }
        </script>

    Entao tentei colocar assim no code behind, mas o metodo javascript de forma alguma é executado.
    NO CODE BEHIND:

    protected void btnFase1_Click(object sender, EventArgs e)
        {
            //ClientScript.RegisterStartupScript(this.GetType(), "fase1", "chama(); return true;");
            ScriptManager.RegisterClientScriptBlock(Page, this.GetType(), "test", "chama()", true);
        }

    Podem me ajudar ?
    Abracos

    segunda-feira, 15 de outubro de 2012 05:43

Todas as Respostas

  • Você quer executar a função JavaScript após validar os campos certo?

    Você pode fazer desta forma:

    //Se as validações estão corretas exibe a mensagem.
    if (Page.IsValid) {  
      ScriptManager.RegisterClientScriptBlock(Page, this.GetType(), "test", "chama();", true);
    }


    Se a resposta foi útil por favor qualifique! Janderson Candido de Mattos - MCPD

    segunda-feira, 15 de outubro de 2012 11:55
  • Fiz isso, ele realmente valida como true a pagina, mas nao executa a funcao chama() que esta na pagina aspx como:

    <script type="text/javascript">
            function chama() {
                alert("chamou");
            }
        </script>

    segunda-feira, 15 de outubro de 2012 22:58
  • E ae tuco, blz cara?

    Tentou desta forma também?

    if (Page.IsValid)
    {
       ClientScript.RegisterStartupScript(this.GetType(), "fase1", "chama();", true);
    }


    Se a resposta foi útil por favor qualifique! Janderson Candido de Mattos - MCPD

    terça-feira, 16 de outubro de 2012 11:57
  • O problema ocorria pq o javascript estava no final da pagina.

    Qdo passei pro comeco, ele passou a ser chamado.
    Mas pq neste caso, ele precisa estar no topo ?

    terça-feira, 16 de outubro de 2012 18:48
  • E ae tuco, blz cara? Desculpa a demora, estava com pouco tempo de me dedicar ao forum.

    Eu não sei te explicar porque isso acontece, mas o padrão é colocar sempre o script no header da página.

    http://stackoverflow.com/questions/1013112/where-should-i-declare-javascript-files-used-in-my-page-in-head-head-or-nea


    Se a resposta foi útil por favor qualifique! Janderson Candido de Mattos - MCPD

    segunda-feira, 22 de outubro de 2012 12:15