将函数应用于所选文本

时间:2013-06-12 05:37:48

标签: php javascript jquery

http://webwrinkle.com/

我在上面列出的网址上有一个基本表格。我希望用户可以选择将javascript或jquery函数应用于表单中的选定文本。是一个php文件,因此信息将进入数据库,然后在页面中以html格式输出。

我在想用户可以选择输入到表单中的文本,通过按钮应用该功能,并且与该按钮绑定的功能将在所选文本的两端输入链接标记,以使所选文本成为可点击的网页链接在发布的php页面上。 (TinyMCE中的相同功能)如果需要更多信息,或者我没有完全解释,请告诉我。如果能够朝着正确的方向开始,我应该能够弄清楚如何构建需要应用的PHP函数......

感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

首先,在您准备提交“备忘录”之前,您不必向服务器发送任何内容 - 您可以使用javascript完成所有编辑。

首先,您需要能够检索当前选定的文本。你可以使用这样的东西:

var memoBox = document.getElementById("memo"); //get the memo input element

var startIndex = memoBox.selectionStart, endIndex = memoBox.selectionEnd; //store the start and end of the user's selection
var selectedText = memoBox.value.substring(startIndex,endIndex); //retrieve and store the selected text

现在,假设您要添加指向所选文本的链接。你可以写一个这样的函数:

function addLinkToSelected() {
    var memoBox = document.getElementById("memo");
    var startIndex = memoBox.selectionStart, endIndex = memoBox.selectionEnd;
    var selectedText = memoBox.value.substring(startIndex,endIndex);

    var linkURL = prompt("Link target: "); //ask the user for a link target
    var linkTag = '<a href="'+linkURL+'">'; //construct a link tag

    memoBox.value = memoBox.value.substring(0,startIndex) + linkTag 
                   + selectedText + "</a>" + memoBox.value.substring(endIndex+1);
}

现在,只需添加一个按钮并在单击时调用该函数:

<input type="button" value="add link" onclick="addLinkToSelected()" />

我不确定这是否是您正在寻找的,所以请随意添加更多细节。我创建了一个jsfiddle,您可以查看一个有效的示例。

答案 1 :(得分:1)

您可以使用javascript的link()功能将文本转换为超文本链接

离。

function addLink() {
    var memoBox = document.getElementById("memo");
    alert(memoBox.link(memoBox));
}