我正在尝试将所选文本格式化为文本框内的粗体但不会发生。但是,它在span / div中是hapenning。我的代码
<html>
<head>
<title>Untitled Document</title>
<script type="text/javascript">
function FormatSelectedWord(txtBox,style)
{
var selectedText = document.selection
? document.selection.createRange().text
: txtBox.value.substring(txtBox.selectionStart,txtBox.selectionEnd);
if(selectedText!='')
{
var newText='<'+style+'>'+selectedText+'</'+style+'>';
txtBox.value=txtBox.value.replace(selectedText,newText)
spOutput.innerHTML=txtBox.value;
}
}
</script>
</head>
<body>
<input type="text" name="txtBox"> </input>
<input type="button" value="Bold" onclick="FormatSelectedWord(txtBox,'b')">
<span id="spOutput"></span>
</body>
</html>
是否可以使用文本框。如果是这样的话?
由于
答案 0 :(得分:3)
不,不可能在文本框中设置文本样式。如果您需要可编辑的格式化文本,则可以使div或span contentEditable = true。
答案 1 :(得分:0)
而不是重新发明轮子,你最好考虑实现TinyMCE或其他类似的事情,这很容易。这是非常常见的功能,它被称为“富文本编辑器”,如果你想去谷歌搜索:)
尝试自己添加这种功能是巨大的蠕虫病毒,你真的不想参与其中:)
答案 2 :(得分:0)
以下是我认为您想要的示例: http://jsfiddle.net/6gQJC/1/
以下是您的问题:http://jsfiddle.net/6gQJC/
txtBox is undefined
所以这个:
<input type="text" name="txtBox"> </input>
需要
<input type="text" id="txtBox" name="txtBox"> </input>
然后
function FormatSelectedWord(txtBox,style)
{
var textbox = document.getElementById('textBox');