2011-08-05 21 views
0

我很喜歡我的語言翻譯工具。 這裏是谷歌翻譯API的代碼。 我必須修改此代碼以接收用戶在文本框中輸入的內容,然後確定輸入的語言。目前代碼正在從id =「sourceText」中獲取值。 我需要在那裏放置一個文本框,使其成爲一個簡單的動態工具。請告訴我應該做些什麼修改來添加文本框並接收輸入並檢測語言?謝謝...如何修改JavaScript代碼以接收來自用戶的輸入?

<html> 
    <head> 
    <title>Translate API Example</title> 
    </head> 
    <body> 
    <div id="sourceText">Hello world</div> 
<div id="translation"></div> 
<script> 
    function translateText(response) { 
    document.getElementById("translation").innerHTML += "<br>" + response.data.translations[0].translatedText; 
    } 
</script> 
<script> 
    var newScript = document.createElement('script'); 
    newScript.type = 'text/javascript'; 
    var sourceText = escape(document.getElementById("sourceText").innerHTML); 
    var source = 'https://www.googleapis.com/language/translate/v2/detect?key=INSERT-YOUR-KEY&source=en&target=de&callback=translateText&q=' + sourceText; 
    newScript.src = source; 

    // When we add this script to the head, the request is sent off. 
    document.getElementsByTagName('head')[0].appendChild(newScript); 
    </script> 
    </body> 
    </html> 

回答

2

變化

<div id="sourceText">Hello world</div>

<textarea id="sourceText">Hello World</textarea>

而且更新該行:

var sourceText = escape(document.getElementById("sourceText").value);


<html> 
    <head> 
    <title>Translate API Example</title> 
    </head> 
    <body> 
    <textarea id="sourceText">Hello world</textarea> 
    <input type="button" value="Translate" onclick="submit()" /> 
<div id="translation"></div> 
<script> 
    function translateText(response) { 
    document.getElementById("translation").innerHTML += "<br>" + response.data.translations[0].translatedText; 
    } 

function submit() { 
    var newScript = document.createElement('script'); 
    newScript.type = 'text/javascript'; 
    var sourceText = escape(document.getElementById("sourceText").innerHTML); 
    var source = 'https://www.googleapis.com/language/translate/v2/detect?key=INSERT-YOUR-KEY&source=en&target=de&callback=translateText&q=' + sourceText; 
    newScript.src = source; 

    // When we add this script to the head, the request is sent off. 
    document.getElementsByTagName('head')[0].appendChild(newScript); 
} 
    </script> 
    </body> 
    </html> 
+0

明白了這一點..Thnks。現在,我如何編碼一個按鈕來提交我的文本區域值,並調用相應的功能..請指導..謝謝 –

+0

將javascript包裝在一個名爲'submit()'的函數中並添加'' – js1568

+0

請幫我包裝js函數..已經結束但失敗了(我仍然是初學者)不能使用onclick中的translateText(響應)函數嗎?非常感謝您的回覆。 –

0

如何改變

<div id='mySource'> 

<textarea id='mySource'> 

,並把負責的代碼翻譯成功能,並添加一個按鈕 「trasnalte」,這onclick事件將啓動翻譯功能?

相關問題