1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

mudar evento OnClick

Discussão em 'Web Development' iniciada por jtcgomes, 2 de Junho de 2007. (Respostas: 7; Visualizações: 2771)

  1. jtcgomes

    jtcgomes Power Member

    Ora boa noite malta...
    Estou aki devolta de um projecto, e chegou-me a seguinte duvida..

    tendo eu um botão

    <INPUT TYPE="button" Value="Abrir" onClick="abrir(this)">

    A minha ideia é ele abrir algo, e o botão ficar com o Value=Fechado.
    Mas estando ele a fechado cria inverter o passo e executar a função fechar..
    Alguem k me explike como se faz isto?

    Código:
                function abrir(texto){
                  if (texto.value="Fechado")
                   [COLOR=Red] onClick[/COLOR]=("fechar()");
                    else
                     texto.value="Fechado";
                     [I] procedimentos pra abrir...[/I]
    
    mas isto não funciona. será k posso usar o OnClick aki em cima??
    Essas ajudas/opiniões, serão bem vindas...
    OBRIFGADAO
     
  2. OldMan

    OldMan Power Member

    julgo que seria mais algo tipo isto, mas a unica coisa que usei foi logica, nao me lembro da syntax...
    o nome BTN seria o name do input, que no exemplo que deste ainda nao tinhas
    Código:
    function abrir(texto){
      if (btn.value="Abrir"){
        btn.value="Fechar";
        *inserir instrucao para abrir*
      }else{
        btn.value="Abrir";
        *inserir instrucao para fechar*
      }
    }
    
     
  3. SoundSurfer

    SoundSurfer Power Member

    Não é mais fácil teres 2 botões e mostrares/esconderes o pretendido?
     
  4. jtcgomes

    jtcgomes Power Member

    Obrigado aos dois... ando aki a massacrar a cabeça com isto...
    MAs foram uties. obrigado
     
  5. capricorn

    capricorn Power Member

    Código:
                function abrir(texto){
                  if (texto.value="Fechado")
                   [COLOR=red][COLOR=#000000]texto.[/COLOR]onClick[/COLOR]=("fechar()");
                    else
                     texto.value="Fechado";
                     [I]procedimentos pra abrir...[/I]
    será isto?
     
  6. p3dro

    p3dro Power Member

    vê se isto te ajuda em alguma coisa ...

    Código:
    <html>
      <head>
        <script type="text/javascript" >
            function ButtonClick(field){
              if(field.value=="Abrir"){
                field.value="Fechar";
                FuncaoAbrir();
              }
              else if(field.value=="Fechar"){
                field.value="Abrir";
                FuncaoFechar();
              }
            }
            
            function FuncaoAbrir(){
              alert("Programar função abrir ...");
              //fazer alguma coisa
            }
    
            function FuncaoFechar(){
              alert("Programar função fechar ...");
              //fazer alguma coisa
            }
        </script>
    
      </head>
      <body>
        <input type="button" value="Abrir" onClick="ButtonClick(this)" name="bt" id="bt">
      </body>
    <html>
     
  7. SoundSurfer

    SoundSurfer Power Member

    O problema dessas solução é que o "onclick" é um evento... mesmo em javascritp é um evento... não lhe podem atribuir uma "string"... penso que é algo do estilo:

    botao.onclick = funtion ( alert('aaa'); )

    Exemplo:
    Código:
    function init() {
    var h2 = document.getElementsByTagName('h2');
    
    for ( var i=0; i<h2.length; i++ ) {
    h2[i].onclick = showHide;
    }
    }
    
    function showHide( e ) {
    el= (e) ? e.target : window.event.srcElement;
    
    el = el.nextSibling;
    while ( el.tagName != 'DIV' )
    {
    el = el.nextSibling;
    }
    
    if( el) {
    if ( el.className != "hide" )
    {
    el.className = "hide";
    } else {
    el.className = "show";
    }
    }
    }
     
  8. jtcgomes

    jtcgomes Power Member

    OBRIGADÂO.... já bomba...
     

Partilhar esta Página