2015-10-04 65 views
0

我想要的 - 一個按鈕(onclick)將選定文本添加到文本框(名稱爲「body」)。我希望它有一個換行符和大於號的前綴,最後是兩個換行符/一個段落。將所選文本添加到帶有附加信息的文本框

我當前的代碼:

function 
addtext() { 
var newtext = '\uA' '\u3E' document.getSelection() '\uA'; 
this.email.comments.value += newtext; 
location.href="#emailme"} 

基本上,選擇文本,點擊按鈕後,所選擇的文本添加到窗體具有一些變化。實際發生的事絕對沒有。

備註:NO JQUERY。 JQuery的答案將被忽略。純粹的JS只。

+0

你登錄什麼document.getSelection在你的代碼返回? – Guillermo

回答

0

試試這個

var textBox = document.getElementById("text-box"); // replace the id by your text box identifier 

var addTextButton = document.getElementById("add-text-button"); // replace the id by your button identifier 

function addText() { 
    // \u000a is escape sequence for line feed 
    var newText = '\u000a>' + document.getSelection().anchorNode.textContent + '\u000a\u000a'; 
    // add any extra data to new text here like newText += extraData 
    textBox.value += newText; 
} 

addTextButton.addEventListener("click", function(event) { 
    event.preventDefault(); 
    addText(); 
}); 
+0

它似乎沒有工作。我已將其上傳到https://dl.dropboxusercontent.com/s/fr4bgphk2pjga7z/form20.html以供進一步測試。 谷歌瀏覽器\t 45.0.2454.101(正式版本)M(32位) 修訂\t 3b3c00f2d95c45cca18ab944acced413fb759311-裁判/分支頭/ 2454 @ {#502} OS \t的Windows 眨眼\t 537.36(@ 3b3c00f2d95c45cca18ab944acced413fb759311) 的JavaScript V8 \t 4.5.103.35 – dizzyzane

+0

在關閉'body'標記之前將'script'標記移動到頁面底部,當腳本運行時沒有加載'add-text-button'元素,所以沒有附加事件處理程序,或者如果出於某種原因不能這麼做,請將腳本內容放入一個函數中,並將其附加到像'window.onload = functionName'這樣的'onload'事件中。 – zola

+0

現在正在工作! 我真的不擅長腳本哈哈... – dizzyzane