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

(Resolvido) Função chamar função do OnClick?


LucasConstantino

Pergunta

Bom, se eu apenas perguntar como fazer o que eu quero, vocês nem seuqer vão entender, então deixem-me explicar minha situação primeiro:

Tenho digamos, uma textbox e um button. O button possue uma função no onclick, porém esse onclick é mutável, ou seja, dependendo de certas coisas que não interessam aqui ele muda. Até aí tudo bem. Agora vêm o problema:

Quando eu clico determinada tecla do textbox, ele têm que chamar a função que estiver no onclick do button.

Complicado? Pois bem, eu já consigo fazer com que uma função onkeypressed do textbox verifique qual foi a tecla pressionada, portanto o problema agora só está em como chamar se a tecla for realmente a correta.

Vamos dar nomes aos bois:

tenho isso no HTML:

<input type="text" name="formin" id="formin" onkeypress="return keypressed( this , event );"/>

<input type="submit" name="button" id="button" value="botão" onclick=""/>
Perceba que esse button possue um onclick que será adicionada por JavaScript durante outras ações na página. Esse não é o problema, o botão está funcionando perfeitamente. Agora o cógigo java script:
function keypressed( obj , e ) {
    var tecla = ( window.event ) ? e.keyCode : e.which;

    if (tecla == 43) {
         document.getElementByid("pluop").onclick
    }

Eu consigo chegar dentro do "if", ou seja, ele valida a "tecla == 43" e processa o que vêm dentro do "if", porém eu quero que, caso "tecla == 43", então ele chame a função do botão. Mas não posso adicionar a função aqui diretamente porque a mesma muda, como já disse...

Então? Any ideas?

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

e aew LucasConstantino, tipo o I do Id você estava passando minusculo e a Id não estava definida, muda pra isso:

function keypressed( obj , e ) {
    var tecla = ( window.event ) ? e.keyCode : e.which;
    if ( tecla == 43 ) {
         document.getElementById("button").onclick = function(){
            alert( "Eu estou com onClick" ); 
        };
    }
}

e seus inputs você deixa como estavam, espero que consiga, abraço!

Link para o comentário
Compartilhar em outros sites

  • 0

Romerito, sua resposta não resolvia meu problema não... o que eu queria não era adicionar uma função a tal botão, era CHAMAR a função que já está no botão...

Gente, foi ridiculamente fácil quando fiz um teste que não esperava dar resultado:

document.getElementById("button").onclick()

Vejam, eu apenas adicionei o "()" no final e ele leu isso como uma função já... Ótimo!

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...