2013-05-09 4 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> 

자바 스크립트

:

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

자바 스크립트는 대소 문자를 구분,'입력()'가 없습니다'입력()' – Patashu

+1

는 errrors –

+0

문제를 확인하기 위해서는 브라우저 콘솔을 확인 불명확하다. 내가 할 수있는 한, 포스터는 "내가 이해하지 못하는이 코드를 고치라고했다. 나는 이것을 복사하여 일부 웹 사이트에서 붙였다." 투표를 종료합니다. – tucuxi

답변

0

주 : input() 할 필요가 Input()

1) 귀하의 onclick 값.

2) DOM 개체를 참조하고 값을 가져 와서 입력 필드에서 값을 가져와야합니다.

3) 여기서 원하는 작업을 수행 할 필요가 없습니다.

4) 실제로 입력 필드에 레이블을 사용해야합니다.

5) 코드에서 함수를 만드는 방식을 변경하지 않았지만 function input() {...}을 사용할 수 있으며 window을 명시 적으로 사용하지 않고도 전역 적으로 액세스 할 수 있다는 것을 알고 있습니다.

6) 입력 태그를 끝내야합니다.

7) 양식을 사용하지 않는 경우 submit 대신 필드에서 type="button"을 사용해야합니다. 그래도 여전히 작동합니다.

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> 

자바 스크립트 :

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

관련 문제