1

我有 3 个内联输入文本字段来输入日期

<form>
  <input type="text" name="day" />
  <input type="text" name="month" />
  <input type="text" name="year" />
</form>

有趣的字段是日和月。它们最多可包含 2 个数字。键入日期后,例如“05”,我希望光标跳转到月份字段,以便在所有 3 个输入中键入整个日期,而无需按 Tab 或单击下一个字段。一个限制是,如果用户在一段时间前已经输入了一个日期,那么表单域中会填充该日期,因此日期域可能已经包含“05”。如果我现在单击它,光标不应该已经跳跃,以便我可以进入新的一天。
必须已经存在一些(jquery)代码片段才能做到这一点?

4

2 回答 2

7

试试这个 JS:

function moveToNext(field,nextFieldID){
  if(field.value.length >= field.maxLength){
    document.getElementById(nextFieldID).focus();
  }
}

然后将其添加到您的字段中:

<input type="text" id="dd" maxlength=2 onkeyup="moveToNext(this,'mm')"/>
<input type="text" id="mm" maxlength=2 onkeyup="moveToNext(this,'yyyy')"/>
<input type="text" id="yyyy" maxlength=4 />

例子

于 2013-01-03T12:59:39.123 回答
1

我使用了这个不错的插件,它完全符合 Merion 的要求:

Autotab : jQuery 自动选项卡和过滤器。

于 2013-02-28T06:16:31.700 回答