我正在创建此提交系统。我想创建它,以便在单击div时插入一些文本(如[b]
[/b]
)。这是我们正在使用的样本:
<div class="insertBBC" title="Bold Text" onClick="moveNumbers([b][/b])" id="bold">
<p>B</p>
</div>
<div class="insertBBC" title="Italic Text">
<p>I</p>
</div>
<div class="insertBBC" title="Bullet Points">
<p>BP</p>
等...
我也想要它,所以当文本字段中已有内容时,它不会从那里删除任何内容,它也应该添加光标所在的[b][/b]
标记。选择文本后,它会在选项前面放置[b]标签,在后面放置[/ b]标签。有点像BBC
作品。我不知道我怎么能实现这一点,我已经研究了很长一段时间,我看到人们告诉它只有JQuery可能,我不知道 Jquery 和 JS 但是,是的..我会避免它如果可能的话。
此外,这些是文本框。其中有两个,我想插入当前活动的那个。
<br><textarea name="newPost" placeholder="Post Preview(Will Be Displayed on the Index Page)" cols="100" rows="10"/></textarea><br>
<br><textarea name="newPostPreview" placeholder="Post Text" cols="100" rows="10"/></textarea>
任何线索?谢谢:))
答案 0 :(得分:1)
不幸的是,您唯一的选择是使用jQuery或Javascript(或其他一些浏览器端库)。 PHP只处理服务器端代码,可以吐出你想要使用的html字段,但是在页面加载到浏览器后它不能与元素交互。
我可以 向你解释如何使用jQuery,但只是现在开始学习它是值得的。用它做简单的事很容易,所以不要被吓倒。
以下是我建议开始使用的内容: 使用此标记加载最新的jQuery库:
<script src="http://code.jquery.com/jquery-latest.js"></script>
然后,您可以定位相应的按钮并在点击它们时执行某些操作:
$("#boldButtonID").click(function(){
//get the index of the cursor
//select the word that the cursor is on by stopping at the space (" ") character in either direction, then insert [b] and [/b] in the appropriate locations.
}
您还可以使用此函数获取所选文本,我在此处获取:Get the Highlighted/Selected text
function getSelectionText() {
var text = "";
if (window.getSelection) {
text = window.getSelection().toString();
} else if (document.selection && document.selection.type != "Control") {
text = document.selection.createRange().text;
}
return text;
}
然后你可以使用函数.before()。html(“[b]”)和.after()。html(“[/ b]”)将你的标签放在你需要的地方。
我希望这有助于阐明你需要做什么。
干杯!