• 25-12-2010, 23:31:31
    #1
    Merhaba arkadaşlar

    Başlangıç :
    <input type="text" name="basg" size="1" maxlength="2"  > / 
    <input type="text" name="basay" size="1" maxlength="2"  > / 
    <input type="text" name="basyil" size="3" maxlength="4"  > 
    Bitiş : 
    <input type="text" name="bitg" size="1" maxlength="2"  > / 
    <input type="text" name="bitay" size="1" maxlength="2" > / 
    <input type="text" name="bityil" size="3" maxlength="4"  >
    Bu inputların uzunluklarına göre tab tuşuna basmadan maksimum karaktere ulaşınca imlecin diğer inputa geçmesini nasıl sağlayabiliriz.

    Net te aradım ama sağlıklı bir bilgiye ulaşamadım.

    Şimdiden teşekkürler.
  • 26-12-2010, 03:35:20
    #2
    Aynen bana da lazım. Şu kredi kartı uygulaması gibi.
  • 26-12-2010, 22:49:47
    #3
    Biraz uğraştım bonus kartın kodlarından alabildim.

     var focused_input="";
       var focus_name="";
       var f = document.forms['giris'];
       var form_element;
       var currentField;
       var len=0;
    
       function focusNext() {
          for (form_element=0; form_element <= document.forms['giris'].elements.length; form_element++) {
             if (document.forms['giris'].elements[form_element].name == focused_input) {
                form_element++;
                break;
             }
          }
    
          while (document.forms['giris'].elements[form_element].disabled)
             form_element++;
          focus_name = "document.forms['giris'].elements[form_element].focus()";
       }
    
       // Bunlar klavyeden girişler için
       function advance(c) { 
          currentField = c;
          // Şifre ve CVC2 alanlarının keypadden girilmesi mecburi
          if (currentField.name.indexOf("SIFRE")!=-1 || currentField.name.indexOf("EKKOD")!=-1) {
             eval('document.giris["' + currentField.name + '"].value="";');
             eval('document.giris["' + currentField.name + '"].focus();');
             alert("Bu alan bilgisini Mini Klavye'yi kullanarak girmeniz gerekmektedir.");
             return;
          }
          eval('document.giris["' + currentField.name + '"].focus();');
          setTimeout('effect()',1);
       }
    
       function effect() {
          if (currentField.value.length == len) {
             focusNext();
             eval(focus_name);
          }                                    
          else 
             currentField.focus();
       }
    <td align="left" bgcolor="#EEEEEE"> 
    
            <input name="textKARTNO1" type="text" class="blacktext" size="4" maxlength="4" onFocus="focused_input='textKARTNO1';focusNext();" onKeyUp="len=4;advance(this);">
    
            <input name="textKARTNO2" type="text" class="blacktext" size="4" maxlength="4" onFocus="focused_input='textKARTNO2';focusNext();" onKeyUp="len=4;advance(this);">
    
            <input name="textKARTNO3" type="text" class="blacktext" size="4" maxlength="4" onFocus="focused_input='textKARTNO3';focusNext();" onKeyUp="len=4;advance(this);">
    
            <input name="textKARTNO4" type="text" class="blacktext" size="4" maxlength="4" onFocus="focused_input='textKARTNO4';focusNext();" onKeyUp="len=4;advance(this);">
    
          </td>

    Sizde burdaki uygulamadan yararlanarak yapabilirsiniz
  • 26-12-2010, 22:52:55
    #4
    🌐 𝘀𝗼𝗰𝗶𝗳𝗹𝘆.𝗰𝗼𝗺
    Mantık olarak biliyorum nasıl olacağınıda javascript bilgim çok iyi değil. Bi deniyim yazarım buraya.