-1

由于某种原因,它无法连接到 Javascript。我正在尝试将单词自动解码为可破译的内容。如果你问我从哪里得到了巨大的编码应用程序,我是从一个网站上得到的,它被用于教育目的。

<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title>JS Bin</title>
</head>
<body>
<form name="input" value='Nothing Important' id="ID">
Convert Into Code: <input type="text" name="user" id="XD">
<input type="submit" value="Code" onclick="Input()">
</form>
</body>
</html>

Javascript:

window.input = function() {
function base64_encode (data) {
var b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
var o1, o2, o3, h1, h2, h3, h4, bits, i = 0,
ac = 0,
enc = "",
tmp_arr = [];

if (!data) {
return data;
}

do { 
o1 = data.charCodeAt(i++);
o2 = data.charCodeAt(i++);
o3 = data.charCodeAt(i++);

bits = o1 << 16 | o2 << 12 | o3;

h1 = bits >> 18 & 0x3f;
h2 = bits >> 12 & 0x3f;
h3 = bits >> 6 & 0x3f;
h4 = bits >> 2 & 0x3f;
tmp_arr[ac++] = b64.charAt(h1) + b64.charAt(h2) + b64.charAt(h3) + b64.charAt(h4);
} while (i < data.length);

enc = tmp_arr.join('');

var r = data.length % 3;

return (r ? enc.slice(0, r - 3) : enc) + '==='.slice(r || 4);

}
alert(base64_encode (XD));
};
4

1 回答 1

0

笔记:

1)你的onclick价值Input()需要是input()

2)你需要通过引用DOM对象从输入字段中获取值,然后获取值。

3)你不需要一个表格来做你想做的事情。

4)您应该真正为输入字段使用标签。

5) 我没有改变你在代码中创建函数的方式,但你知道你可以这样做function input() {...},并且无需显式使用window.

6) 确保结束输入标签。

7)如果您不使用表单,那么您应该type="button"input字段上使用而不是submit但它仍然可以使用任何一种方式。

jsfiddle 演示在这里

HTML:

<!DOCTYPE html>
<html>
    <head>
        <meta charset=utf-8 />
        <title>JS Bin</title>
    </head>
    <body>
        <label for="XD">Convert Into Code:</label>
        <input type="text" name="user" id="XD" />
        <input type="button" value="Code" onclick="input()" />
    </body>
</html>

JavaScript:

window.input = function()
{
    function base64_encode (data)
    {
        var b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
        var o1, o2, o3, h1, h2, h3, h4, bits, i = 0, ac = 0, enc = "", tmp_arr = [];
        if (!data)
        {
            return data;
        }

        do
        { 
            o1 = data.charCodeAt(i++);
            o2 = data.charCodeAt(i++);
            o3 = data.charCodeAt(i++);

            bits = o1 << 16 | o2 << 12 | o3;

            h1 = bits >> 18 & 0x3f;
            h2 = bits >> 12 & 0x3f;
            h3 = bits >> 6 & 0x3f;
            h4 = bits >> 2 & 0x3f;

            tmp_arr[ac++] = b64.charAt(h1) + b64.charAt(h2)
                          + b64.charAt(h3) + b64.charAt(h4);
        }
        while (i < data.length);

        enc = tmp_arr.join('');

        var r = data.length % 3;

        return (r ? enc.slice(0, r - 3) : enc) + '==='.slice(r || 4);
    }

    var XD = document.getElementById('XD').value;
    alert(base64_encode(XD));
};
于 2013-05-09T02:03:19.927 回答