2017-01-12 6 views
0

私は自由な時間にモールスコードトランスレータを少し作って、初めてChromeで試しました。 translate()関数が呼び出されると、ChromeはUncaught TypeError: translate is not a function at HTMLInputElement.onclick (morse:28)を私の顔に投げ込みます。他の機能は期待通りに機能し、translate()は問題なくコンソールから呼び出すことができます。さらに、Firefoxでは完全に動作します。Chromeの簡単な機能が定義されていないと主張しています

関連(と思う)HTML:

<div id="mainspan"> 

    <form id="morseForm"> 
     <textarea id="morseInput" rows="8" cols="50"></textarea><br><br> 

     <input type="radio" name="trans" id="mtt" value="morseToText"><label for="mtt">Morse &rarr; text</label><br> 
     <input type="radio" name="trans" id="ttm" value="testToMorse"><label for="ttm">Text &rarr; morse</label><br> 
     <input type="button" onclick="translate()" value="Translate"><br><br> 

     <textarea id="morseOutput" rows="8" cols="50"></textarea><br> 
    </form> 

</div> 

そして、JS:

function translate() { 
    if (document.getElementById("mtt").checked == true) {morseToText()}; 
    if (document.getElementById("ttm").checked == true) {textToMorse()}; 
} 
+0

待機...関数が未定義であるとは限りません。あなたはそれを仮定しました。 :p単に関数ではないと言っています。 –

+0

HTML文書にjavascriptがどこに含まれているかわからないので、書いたように答えることは不可能です。あなたはエラーを示すjsfiddleを作れますか? – AmericanUmlaut

+2

私の推測では、あなたは 'id =" translate "をどこかに持っています。その前提を使用して、私はあなたのエラーを再現することができます。 https://jsfiddle.net/n0jsfuck/ –

答えて

2

これはおそらく、クロームの "不要な機能" で、translateは、いくつかの "特別な意味" イベントを持っているようです通常は定義されていませんが、

<script> 
    function translate() { 
    alert('or nah'); 
    } 
</script> 
<button onclick="translate()"> 
    translate! 
</button> 

<script> 
    function translate() { 
    alert('or nah'); 
    } 
    window.onload = function() { 
    document.querySelector('button').addEventListener('click', translate); 
    } 
</script> 
<button> 
    translate! 
</button> 

作品 - 基本的に同じですが、明らかではない

最も簡単な解決策

  1. 使用addEventListenerをボタンにクリックイベントを追加する方法、または
  2. は名前を使用しないでくださいtranslate
+0

これは正しいと思われる。さらに、@dustinrichardsが問題を実証したJSFiddleは、グローバルスペースでJavascriptを実行しないJSFiddleの問題もあるように思われます.-そこで宣言された関数は、onclickハンドラが起動されたときには表示されません。 .functionName = function(){...}はそれを修正します。 – AmericanUmlaut

関連する問題