none
Jquery RRS feed

  • Pergunta

  • se alguém puder me ajudar no script abaixo

    preciso que não vá para o próximo campo

    preciso que em      if (key == 13) { ele dispare o evento "tab" no "input'  corrente

    $(document).ready(function (e) {
              $('input').keydown(function (e) {
                  var key = e.charCode ? e.charCode : e.keyCode ? e.keyCode : 0;
                  if (key == 13) {
                      e.preventDefault();
                      var inputs = $(this).closest('form').find(':input:visible');
                      inputs.eq(inputs.index(this) + 1).focus();               
                  }
              });
          });

    sexta-feira, 29 de junho de 2012 16:34

Respostas

  • esta rotina atende o que preciso

    mas só funciona no ie e tenho que colocar em cada input um evento keydown

    chamando a função, quero o mesmo resultado sem mexer nos inputs e que funcione no ie e firefox

    function JS_setaFoco(elemento)  { 
        var oEvent;
         var oTarget;
        var tab =9;
        var navegador;

        // navegador   
        if ( navigator.userAgent.indexOf( 'Firefox' ) != -1 ) {
            navegador ="firefox";
        }

        if ( navigator.userAgent.indexOf( 'MSIE' ) != -1 ) {
             navegador ="ie";
        }   

        if(navegador=="ie") {
          oEvent    =   (oEvent)? oEvent : event;
          oTarget   =   (oEvent.target)? oEvent.target : oEvent.srcElement;


          if (oEvent.keyCode==13)
           oEvent.keyCode = tab;

          if (oTarget.type=="text" && oEvent.keyCode==13)
           oEvent.keyCode = tab;

          if (oTarget.type=="radio" && oEvent.keyCode==13)
           oEvent.keyCode = tab;
       } // ie

                                    
    • Marcado como Resposta cesarmene sexta-feira, 29 de junho de 2012 20:04
    sexta-feira, 29 de junho de 2012 18:51

Todas as Respostas

  • Cesar,

    Agora você precisa que o TAB não mude de campo e dispare o evento como se fosse o ENTER e o ENTER gere o TAB, correto?


    Não esqueça de marcar como útil uma resposta que te ajude.
    "A diversão é a alma do negócio"

    sexta-feira, 29 de junho de 2012 18:34
  • preciso que quando tecle enter

    faça algo como send event 'tab'

    para o objeto atual

    sexta-feira, 29 de junho de 2012 18:47
  • esta rotina atende o que preciso

    mas só funciona no ie e tenho que colocar em cada input um evento keydown

    chamando a função, quero o mesmo resultado sem mexer nos inputs e que funcione no ie e firefox

    function JS_setaFoco(elemento)  { 
        var oEvent;
         var oTarget;
        var tab =9;
        var navegador;

        // navegador   
        if ( navigator.userAgent.indexOf( 'Firefox' ) != -1 ) {
            navegador ="firefox";
        }

        if ( navigator.userAgent.indexOf( 'MSIE' ) != -1 ) {
             navegador ="ie";
        }   

        if(navegador=="ie") {
          oEvent    =   (oEvent)? oEvent : event;
          oTarget   =   (oEvent.target)? oEvent.target : oEvent.srcElement;


          if (oEvent.keyCode==13)
           oEvent.keyCode = tab;

          if (oTarget.type=="text" && oEvent.keyCode==13)
           oEvent.keyCode = tab;

          if (oTarget.type=="radio" && oEvent.keyCode==13)
           oEvent.keyCode = tab;
       } // ie

                                    
    • Marcado como Resposta cesarmene sexta-feira, 29 de junho de 2012 20:04
    sexta-feira, 29 de junho de 2012 18:51
  • Amigo,

    Sinceramente não sei como te ajudar...você já pensou em colocar o "tabindex" nos campos para organizar o fluxo do TAB e quando der erro via AJAX você manda ele dar focus no campo errado?


    Não esqueça de marcar como útil uma resposta que te ajude.
    "A diversão é a alma do negócio"

    sexta-feira, 29 de junho de 2012 19:09
  • valeu

    obrigado por tudo

    realmente é uma situação atípica

    muito obrigado

    sexta-feira, 29 de junho de 2012 20:04