2013-05-09 3 views
-1

По какой-то причине он не может подключиться к Javascript. Я пытаюсь автоматически декодировать слова во что-то дешифруемое. Если вы спрашиваете, где я получил огромное приложение для кодирования, я получил его с веб-сайта, и это используется для образовательных целей.Как подключить 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> 

The Javascript:

window.input = function() { 
function base64_encode (data) { 
var b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz/="; 
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)); 
}; 
+2

Javascript чувствителен к регистру, 'Input()' не 'ввода()' – Patashu

+1

проверить вашу консоль браузера, чтобы увидеть errrors –

+0

на вопрос неясно; насколько я могу это сделать, плакат просит нас «исправить этот код, который я не понимаю, который я только что скопировал и вставил с какого-то веб-сайта». Голосование закрывается. – tucuxi

ответ

0

Примечания:

1) Ваше onclick значение Input() должно быть input().

2) Вам нужно получить значение из поля ввода, указав объект DOM и затем получить значение.

3) Вам не нужна форма, чтобы делать то, что вы хотите здесь сделать.

4) Вы действительно должны использовать метку для поля ввода.

5) Я не изменил способ создания функции в вашем коде, но вы знаете, что можете просто сделать function input() {...}, и он будет доступен по всему миру без явного использования window.

6) Убедитесь, что вы закончили ввод тегов.

7) Если вы не используете форму, вы должны использовать type="button" на поле input вместо submit, но оно все равно будет работать в любом случае.

jsfiddle demo here.

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 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz/="; 
     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)); 
}; 
+0

Почему люди на этом сайте так хороши в том, что они делают? – user2103896

+0

Настойчивость, терпение и практика. Продолжайте, если вы наслаждаетесь этим, но не просто выбираете для копирования и вставки чужого кода, потому что он делает то, что вы хотите. Их решение может быть не лучшим способом, но, конечно, здорово смотреть на как можно больше кода, чтобы понять и извлечь уроки из него. Надеюсь, вы прочитали мои вопросы и не просто скопировали и вставляли и тестировали. – SimonDever

+0

Есть ли какие-либо быстрые способы перехода от Javascript и HTML, как в видеоигре, которая меняется с помощью кнопок и опций на сайте? Я говорю о всплывающих окнах, и кнопки меняются автоматически, делают разные варианты. – user2103896

Смежные вопросы