PDA

View Full Version : سوال: رفتن اتوماتیک به input ها



padidehco
شنبه 09 شهریور 1392, 09:02 صبح
سلام دوستان
در فرم زیر چطور می شه کاری کرد که وقتی کاربر input اول را پر می کنه (تکست باکس اول حداکثر 2 حرف می گیره) اتوماتیک به تکست باکس دوم بره و بعد از پر کردن تکست باکس دوم به سراغ سومی بره



<form action="">
<input type="text" id="txt1" maxlength="2">
<input type="text" id="txt2" maxlength="2">
<input type="text" id="txt3" maxlength="2">
<input type="submit">
</form>


و چی کار باید بکنم که وقتی این صفحه باز می شه نشانگر کیبرد به صورت اتوماتیک به صورت پیشفرض بر روی تکست باکس اول باشه؟

AliRezaPro
شنبه 09 شهریور 1392, 10:14 صبح
از تابع focus در jquery استفاده کتید

<input type="text" name="as" maxlength="2" />
<input type="text" name="ad" maxlength="2"/>
و

<script>
jQuery('document').ready(function(){
$('input[name=as]').keyup(function() {
if($(this).val().length==2){
$('input[name=ad]').focus();
}
});

});

</script>

padidehco
شنبه 09 شهریور 1392, 10:28 صبح
کار نمی کنه

AliRezaPro
شنبه 09 شهریور 1392, 10:39 صبح
البته اینجا تالار jquery نیست , کد قبلی رو خودم نوشتم و تست کردم جواب داد دادم خدمتتون

jQuery('document').ready(function(){
$('#txt1').keyup(function() {
if($(this).val().length==2){
$('#txt2').focus();
}
});
$('#txt2').keyup(function() {
if($(this).val().length==2){
$('#txt3').focus();
}
});

});

</script>
و حرفه ایی تر اگر میخواهید


<form action="" class="container">
<input type="text" id="txt1" maxlength="2"/>
<input type="text" id="txt2" maxlength="2"/>
<input type="text" id="txt3" maxlength="2"/>
<input type="submit"/>
</form>

<script>
jQuery('document').ready(function(e){
var container = document.getElementsByClassName("container")[0];
container.onkeyup = function(e) {
var target = e.srcElement;
var maxLength = parseInt(target.attributes["maxlength"].value, 10);
var myLength = target.value.length;
if (myLength >= maxLength) {
var next = target;
while (next = next.nextElementSibling) {
if (next == null)
break;
if (next.tagName.toLowerCase() == "input") {
next.focus();
break;
}
}
}
}

});

</script>

padidehco
شنبه 09 شهریور 1392, 18:29 عصر
می شه در مورد این کد حرفه ای یک توضیح بدید
با تشکر فراوان

Sepax1
شنبه 09 شهریور 1392, 19:05 عصر
دوست عزیز اگه می خواید وقتی صفحه باز شد اتوماتیک بره رو input اول باید از html5 استفاده کنید :


<input type="text" id="txt1" maxlength="2" autofocus>