Javascript混淆输入框值

时间:2012-12-15 17:16:37

标签: javascript events input bookmarklet

好的,我正在编写一些代码,有人可以将其用作书签,实时混合输入框值......

var elements = document.getElementsByTagName("input");
for (var ii = 0; ii < elements.length; ii++) {

    elements[ii].addEventListener("keyup", function() {

        var input = elements[ii].value;
        var a = [""];
        var gen;
        for (x in input) {
            a[x] = input[input.length - x - 1];
        };
        for (x in a) {
            var gen = gen + a[x];
        };
        output = gen.replace('undefined', '');
        elements[ii].value = output;
    }, false);
};

此代码(使用JavaScript:在前面)对任何输入框都没有影响。谁能明白为什么?

谢谢!

2 个答案:

答案 0 :(得分:1)

在addEventListener代码中使用this而不是elements[ii]。 Cos元素[ii]在该代码中没有意义。

答案 1 :(得分:1)

我在你的代码中做了一些修复。这是修改后的版本:

var elements = document.getElementsByTagName("input");
for (var ii = 0; ii < elements.length; ii++) {

    elements[ii].addEventListener("keyup", function() {

        var input = this.value;
        var a = [];
        var gen;
        for (var x in input) {
            a[x] = input[input.length - x - 1];
        };
        for (x in a) {
            var gen = gen + a[x];
        };
        output = gen.replace('undefined', '');
        this.value = output;
    }, false);
};

请检查demo