我如何在javascript中调用tab键事件

how can I call tab key event in javascript

本文关键字:调用 tab 事件 javascript      更新时间:2023-09-26

以下是我的简单数据

约翰Smith ,,,,,,,,,,, Individual ,,,,,,,,,,, 010987654

我有三个文本框和上述数据将自动插入在我的网页的第一个文本框。

我的问题是

我怎样才能使一旦数据插入到文本框(意味着当文本框的onchange事件被触发)

    首先,javascript会在这个字符串中找到' tab '空间
  1. 第二,如果在字符串中找到' tab '空格,javascript将按' tab '键并在另一个文本框中插入数据。

这是一个普通的DOM-0 JavaScript解决方案,只是为了好玩。

document.getElementById('the_form').onchange = function() {
    var field = this[0];
    var parts = field.value.split(''t');
    for (var i = 0; field = this[i]; i++) {
        field.value = parts[i] || '';
    }
}
http://jsfiddle.net/vKaxP/

我以为你想把这些文本分成不同的文本框,所以我得到了这样的东西:

$("#a").change(function(){
    var s = $(this).val();
    if (s.match(/'t+/)) {
        var a = s.split(/'t+/);
        $('#a').val(a[0]);
        $('#b').val(a[1]);
        $('#c').val(a[2]);
    }
});

如果在第一个输入框中输入a b c,按下tabenter,其他文本框将分别出现bc

我使用's(空格)在jsfiddle中进行测试。你可以把tab改成't

这是你需要做的原型。

HTML:

<div>
    <input id="a" />
</div>
<div>
    <input id="b" />
</div>
JavaScript:

$('#a').on('change', function () {
    var value = $(this).val();
    // Test if string has a tab:
    if (/'t/.test(value)) {
        // Just set the value of the other text box
        // And set focus:
        // Using jQuery that would be:
        $('#b').val(value).focus();
    }
});

工作演示:http://jsfiddle.net/tkirda/XmArP/

如果我正确地理解问题为"服务器将所有数据放入一个字段,制表符分隔,我想将其拆分为几个文本字段",那么试试这个:

在负荷

:

var fields = [$("#firstField"), $("#secondField"), $("#thirdField")];
var data = fields[0].val().split(/'t/);
for (var i = 0; i < 3; i++) {
    fields[i].val(data[i]);
}