2013-02-17 2 views
0

이 HTML 스크립트는 입력 된 모든 단어, 문구 또는 문자를 번역합니다.음역 스크립트 - 이상한 오류

기본적으로 비공식 번역자입니다.

jsFiddle를 사용하여 코드를 테스트

, 나는 다음과 같은 오류가 표시 해요 :

{"error": "Please use POST request"}

나는 .html 중에서로 제대로 내 파일을 저장하고, 구글 크롬과를 열었습니다.

모든 것이 그대로 작동합니다. 텍스트를 음역 할 수는 있지만 음역 할 텍스트를 너무 많이 넣으면 상자 내의 텍스트가 생략되고 코드 (페이지)가 본질적으로 '새로 고침'됩니다.

이 코드 은 작은 어구와 단어를 번역합니다.

음역 자의 글자 수에 제한이 있습니까?

오류가 무엇을 나타내는 지 모르겠지만, 앞에서 설명한 jsFiddle 오류가이 오류와 일치합니다.

나를 혼란스럽게합니다.

음역 코드는 다음과 같습니다 : 나는 기꺼이 모든 기능을 보장하기 위해 코드를 수정하는 데 도움 부탁드립니다

<html> 
<head> 
    <title>English - Imzreth Translator</title> 
    <script> 
     validator = "aábcdeéfghjiíklmnoöpqrstuüvwxyzAÁBCDEÉFGHIJKLMNOÖPQRSTUÜVWXYZ’"; 
     vowels = "aáeéiíoöuüyAÁEÉIÍOÖUÜY’"; 

     aemap = new Array(); 
     aemap["au"] = "a"; 
     aemap["a"] = "a"; 
     aemap["l"] = "b"; 
     aemap["b"] = "b"; 
     aemap["c"] = "c"; 
     aemap["ku"] = "d"; 
     aemap["d"] = "d"; 
     aemap["u"] = "e"; 
     aemap["u"] = "e"; 
     aemap["f"] = "f"; 
     aemap["gé"] = "g"; 
     aemap["g"] = "g"; 
     aemap["h"] = "h"; 
     aemap["o"] = "i"; 
     aemap["i"] = "i"; 
     aemap["t"] = "j"; 
     aemap["j"] = "j"; 
     aemap["ré"] = "k"; 
     aemap["k"] = "k"; 
     aemap["l"] = "l"; 
     aemap["m"] = "m"; 
     aemap["q"] = "n"; 
     aemap["n"] = "n"; 
     aemap["i"] = "o"; 
     aemap["o"] = "o"; 
     aemap["ph"] = "p"; 
     aemap["p"] = "p"; 
     aemap["q"] = "q"; 
     aemap["r"] = "r"; 
     aemap["s"] = "s"; 
     aemap["s"] = "t"; 
     aemap["t"] = "t"; 
     aemap["e"] = "u"; 
     aemap["u"] = "u"; 
     aemap["z"] = "v"; 
     aemap["v"] = "v"; 
     aemap["w"] = "w"; 
     aemap["l"] = "x"; 
     aemap["x"] = "x"; 
     aemap["y"] = "y"; 
     aemap["á"] = "y"; 
     aemap["z"] = "z"; 

     eamap = new Array(); 
     eamap["a"] = "au"; 
     eamap["b"] = "l"; 
     eamap["c"] = "c"; 
     eamap["d"] = "ku"; 
     eamap["e"] = "u"; 
     eamap["f"] = "f"; 
     eamap["g"] = "gé"; 
     eamap["h"] = "h"; 
     eamap["i"] = "o"; 
     eamap["j"] = "t"; 
     eamap["k"] = "ré"; 
     eamap["l"] = "l"; 
     eamap["m"] = "m"; 
     eamap["n"] = "n"; 
     eamap["o"] = "i"; 
     eamap["p"] = "ph"; 
     eamap["q"] = "q"; 
     eamap["r"] = "r"; 
     eamap["s"] = "s"; 
     eamap["t"] = "s"; 
     eamap["u"] = "e"; 
     eamap["v"] = "z"; 
     eamap["w"] = "w"; 
     eamap["x"] = "l"; 
     eamap["y"] = "á"; 
     eamap["z"] = "z"; 

     eamap["A"] = "A"; 
     eamap["B"] = "B"; 
     eamap["C"] = "C"; 
     eamap["D"] = "D"; 
     eamap["E"] = "E"; 
     eamap["F"] = "F"; 
     eamap["G"] = "G"; 
     eamap["H"] = "H"; 
     eamap["I"] = "I"; 
     eamap["J"] = "J"; 
     eamap["K"] = "K"; 
     eamap["L"] = "L"; 
     eamap["M"] = "M"; 
     eamap["N"] = "N"; 
     eamap["O"] = "O"; 
     eamap["P"] = "P"; 
     eamap["Q"] = "Q"; 
     eamap["R"] = "R"; 
     eamap["S"] = "S"; 
     eamap["T"] = "T"; 
     eamap["U"] = "U"; 
     eamap["V"] = "V"; 
     eamap["W"] = "W"; 
     eamap["X"] = "X"; 
     eamap["Y"] = "Y"; 
     eamap["Z"] = "Z"; 
     promap = new Array(); 
     promap["a"] = "aah"; 
     promap["b"] = "buh"; 
     promap["c"] = "se"; 
     promap["d"] = "duh"; 
     promap["e"] = "eh"; 
     promap["f"] = "f"; 
     promap["g"] = "guh"; 
     promap["h"] = "h’"; 
     promap["i"] = "íh"; 
     promap["j"] = "juh"; 
     promap["k"] = "kuh"; 
     promap["l"] = "l’"; 
     promap["m"] = "m"; 
     promap["n"] = "n"; 
     promap["o"] = "öh"; 
     promap["p"] = "puh"; 
     promap["q"] = "quah"; 
     promap["r"] = "ra"; 
     promap["s"] = "s"; 
     promap["t"] = "t’uh"; 
     promap["u"] = "ooh"; 
     promap["v"] = "vuh"; 
     promap["w"] = "wuh"; 
     promap["x"] = "k’ss"; 
     promap["y"] = "ya"; 
     promap["z"] = "z"; 
     promap["ph"] = "f’"; 
     promap["au"] = "aw"; 
     promap["gé"] = "zhé"; 
     promap["á"] = "ahh"; 
     promap["ku"] = "kü"; 

     promap["A"] = "Á"; 
     promap["B"] = "B’"; 
     promap["C"] = "CÉ"; 
     promap["D"] = "D’"; 
     promap["E"] = "EH"; 
     promap["F"] = "F’"; 
     promap["G"] = "G’"; 
     promap["H"] = "H’"; 
     promap["I"] = "Í’"; 
     promap["J"] = "J’"; 
     promap["K"] = "K’"; 
     promap["L"] = "L’"; 
     promap["M"] = "M"; 
     promap["N"] = "N"; 
     promap["O"] = "Ö’"; 
     promap["P"] = "P’"; 
     promap["Q"] = "Q’"; 
     promap["R"] = "RA"; 
     promap["S"] = "SEE"; 
     promap["T"] = "T’UH"; 
     promap["U"] = "OOH"; 
     promap["V"] = "VUH"; 
     promap["W"] = "WUH"; 
     promap["X"] = "K’SS"; 
     promap["Y"] = "YA"; 
     promap["Z"] = "Z"; 
     promap["PH"] = "F"; 
     promap["AU"] = "AW"; 
     promap["KU"] = "KÜ"; 

     function transme() { 
      if (document.theform.picker[0].checked) { // english to al bhed 
       builder = ""; 
       toggler = 0; 

       for (var i = 0; i < document.theform.stimulus.value.length; i++) { 
        if (document.theform.stimulus.value.charAt(i) == "[") { 
         toggler = 1; 
        }; 
        if (document.theform.stimulus.value.charAt(i) == "]") { 
         toggler = 0; 
        }; 

        if (toggler == 1) { 
         builder = builder + document.theform.stimulus.value.charAt(i); 
        } else { 
         if (validator.indexOf(document.theform.stimulus.value.charAt(i)) == -1) { 
          builder = builder + document.theform.stimulus.value.charAt(i); 
         } else { 
          builder = builder + eamap[document.theform.stimulus.value.charAt(i)]; 
         }; 
        }; 
       }; 

       builder2 = ""; 
       toggler = 0; 
       prev = 0; 

       for (var i = 0; i < document.theform.stimulus.value.length; i++) { 
        if (document.theform.stimulus.value.charAt(i) == "[") { 
         toggler = 1; 
        }; 
        if (document.theform.stimulus.value.charAt(i) == "]") { 
         toggler = 0; 
        }; 

        if (toggler == 1) { 
         builder2 = builder2 + document.theform.stimulus.value.charAt(i); 
        } else { 
         if (validator.indexOf(document.theform.stimulus.value.charAt(i)) == -1) { 
          builder2 = builder2 + document.theform.stimulus.value.charAt(i); 
          prev = 0; 
         } else { 
          temp = promap[eamap[document.theform.stimulus.value.charAt(i)]]; 
          if (prev == 1) { 
           if ((vowels.indexOf(temp.charAt(0)) == -1) && (temp.length != 1)) { 
            builder2 = builder2 + "-"; 
           }; 
          }; 
          builder2 = builder2 + temp; 
          prev = 1; 
         }; 
        }; 
       }; 
       document.theform.response.value = builder + "\n\nPronounced: \"" + builder2 + "\""; 

      } else { //al bhed to english 
       builder = ""; 
       toggler = 0; 

       for (var i = 0; i < document.theform.stimulus.value.length; i++) { 
        if (document.theform.stimulus.value.charAt(i) == "[") { 
         toggler = 1; 
        }; 
        if (document.theform.stimulus.value.charAt(i) == "]") { 
         toggler = 0; 
        }; 

        if (toggler == 1) { 
         builder = builder + document.theform.stimulus.value.charAt(i); 
        } else { 
         if (validator.indexOf(document.theform.stimulus.value.charAt(i)) == -1) { 
          builder = builder + document.theform.stimulus.value.charAt(i); 
         } else { 
          builder = builder + aemap[document.theform.stimulus.value.charAt(i)]; 
         }; 
        }; 
       }; 
       document.theform.response.value = builder; 
      }; 
      return false; 
     }; 
    </script> 
</head> 

<body> 
    <form method="get" name="theform" action="" onSubmit="return transme()"> 
     <p><b><h2>English to Custom Language Translator (With Phonetics)</h2></b> 

      <p><b>Translate Text:</b> 

       <br> <u>(Excluded text should be within brackets).</u> 

       <br> 
       <textarea name="stimulus" cols="60" rows="6" wrap="VIRTUAL"></textarea> 
      </p> 
      <p><b>Translated Text:</b> 

       <br> 
       <textarea name="response" cols="60" rows="6" wrap="VIRTUAL"></textarea> 
      </p> 
      <p><b>Translation Options:</b> 

       <br> 
       <input name="picker" type="radio" value="0" checked>English to Custom Language (With Phonetics) 
       <br> 
       <input name="picker" type="radio" value="1">Custom Language to English (With Rough Phonetics)</p> 
      <p> 
       <input type="submit" value="Transl ate/Traunslausu!"> 
      </p> 
    </form> 
</body> 

</html> 

.

+1

왜 바이올린을 연결하지 않습니까? ** ** 도움이 될 것이라고 확신합니다 **. –

+0

이와 같이 질문을 변경하거나 "업데이트"하지 마십시오. 더 많은 정보를 제공하기 위해 그것을 편집 할 수 있지만, 답변을 한 후에는 "제거"해서는 안됩니다. –

+0

나는 본다; 문제가 해결 된 후 게시물의 원래 정보를 생략하지 않아도됩니까? – Coleco

답변

0

래퍼 (jsfiddle 페이지의 왼쪽 상단)의 onload 래퍼를 제거하면 코드가 올바르게 작동합니다. onload 래퍼로

Fiddle

, 당신의 기능은 따라서 귀하의 onSubmit="return transme()" 결과 오류 "transme가 정의되지 않은"에 핸들러를 제출 전역에서 액세스 할 수 없습니다, 그리고 함수가 호출되지 않습니다으로, 그것은 결코 도달하지 return false은 양식 제출을 방해합니다.

+0

** 해결 : 새로 수정 된 음역 스크립트 [여기를 참조하십시오.] (http://dl.dropbox.com/u/43674120/HTML%20STUFF/CL7%20%5BFinal%5D.html) ** – Coleco