爲了增加我正在構建的信用卡表單的可用性,我希望瀏覽器在用戶鍵入允許的字符後將焦點移至下一個輸入input
的maxlength
屬性。如何在每個輸入達到最大長度時自動提前聚焦
我已經完成了這與三個輸入字段在目前,但在一個非常笨重,不可擴展的方式。見下面的代碼。
我想要做的是腳本如下:
如果用類autotab輸入已經達到了它的maxlength,將焦點移到任何類的下一個最接近的輸入。另外(我在下面的代碼中還沒有完成的東西)如果類autotab的輸入值爲空/空,並且退格/刪除鍵被按下,焦點應該移動到任何類的前一個最接近的輸入處
我的目標是擺脫對特定字段的寫入變量的依賴,並使這個過程自動化一下。
$(document).ready(function() {
var CCCardFill = 0;
var CCExpMonthFill = 0;
var CCExpYearFill = 0;
var CCCardMax = 16;
var CCExpMonthMax = 2;
var CCExpYearMax = 4;
$("input").keyup(function() {
var CCCardFill = $(".CCCard").val().length;
var CCExpMonthFill = $(".CCExpMonth").val().length;
var CCExpYearFill = $(".CCExpYear").val().length;
if (CCCardFill >= CCCardMax) {
$(".CCExpMonth").focus();
}
if (CCExpMonthFill >= CCExpMonthMax) {
$(".CCExpYear").focus();
}
if (CCExpYearFill >= CCExpYearMax) {
$(".CCName").focus();
}
});
});
運作codepen這裏:http://codepen.io/jeremypbeasley/pen/BoJVRW
作爲Web的用戶,我很驚訝,要問這是如何提高可用性。特別是,您的用戶將如何應對忘記其信用卡號碼的最後一位數字? – darch
這是仿照LukeW(先生可用性本身)單輸入信用卡形式。 http://www.lukew.com/ff/entry.asp?1667我們測試了由Luke's和傳統的「標籤推進焦點」領域下面的答案產生的表格,並且它在速度和用戶滿意度上都呈指數級地增長。 –