我想讓用戶在評論系統(窮人的文本編輯器)中使用textarea文本做簡單的格式。希望允許他們用光標選擇文本,然後點擊按鈕進行格式化。我的問題是如何獲得JavaScript來抓取並返回選定的文本。想象一下,它應該是這樣的:Javascript選擇文本和格式textarea
<script>
function formatText(field) {
//gets text
var text;
text = field.value.substring(field.selectionStart, field.selectionEnd);
//formats it
var text = '<b'>+text+'</b>';
//returns it
field.value.substring(field.selectionStart, field.selectionEnd); = text;
}
</script>
<body>
<textarea id="field"></textarea><button onclick="formatText('field')">Make bold</button>
</body>
UPDATE:以下代碼獲取選定的文本,格式,然後將其發送回textarea的 - 但是,它取代了textarea的所有文字...所以我只需要辦法在textarea的替代選擇的文本 - 而不是所有 - 我會做:
<head>
<script type="text/javascript">
function GetSelection() {
var selection = "";
var textarea = document.getElementById("field");
if ('selectionStart' in textarea) {
// check whether some text is selected in the textarea
if (textarea.selectionStart != textarea.selectionEnd) {
selection = textarea.value.substring (textarea.selectionStart,
textarea.selectionEnd);
}
}
else { // Internet Explorer before version 9
// create a range from the current selection
var textRange = document.selection.createRange();
// check whether the selection is within the textarea
var rangeParent = textRange.parentElement();
if (rangeParent === textarea) {
selection = textRange.text;
}
}
if (selection == "") {
alert ("No text is selected.");
}
else {
selection = "<b>"+selection+"</b>";
document.getElementById('field').value = selection;
}
}
</script>
</head>
<body>
<textarea id="field" spellcheck="false">Select some text within this field.</textarea>
<button onclick="GetSelection()">Get the current selection</button>
</body>
我覺得這是指定document.getElementByID.value.substr可能做到這一點的一種方式,但我不」不懂語法。
如果您希望他人幫助您,您可能希望接受您的問題的答案。 –