JavaScript, показанный ниже, вставляет ввод формы в текстовое поле в текущей позиции курсора. Текстовое поле id = mbentry. Это работает, если весь код находится на одной странице.
Я хочу иметь гипертекстовую ссылку на page1.php, чтобы открыть небольшое всплывающее окно (например, page2.php), чтобы пользователь мог вводить текст во всплывающем окне, закрывать окно и отображать ввод из окна в текстовой области (id = mbentry) на исходной странице. (Примечание. В настоящее время я использую GreyBox для создания всплывающих окон.)
Как мне это сделать? (См. Код ниже)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Page 1</title>
<script type="text/javascript">
window.onload = function()
{
btn = document.getElementById("btnInsertText");
myText = document.getElementById("myTextArea");
title = document.getElementById("insTitle");
url = document.getElementById("insUrl");
ltext = document.getElementById("insLText");
btn.onclick = function()
{
insertAtCursor(myText, title.value, url.value, ltext.value);
}
}
function insertAtCursor(myField, title, url, ltext)
{
//IE support
if (document.selection)
{
myField.focus();
sel = document.selection.createRange();
sel.text = '<a href="'+url+'" title="'+title+'" target="_blank">'+ltext+'</a>';
}
//Mozilla/Firefox/Netscape 7+ support
else if (myField.selectionStart || myField.selectionStart == '0')
{
var startPos = myField.selectionStart;
var endPos = myField.selectionEnd;
myField.value = myField.value.substring(0, startPos)+ '<a href="'+url+'" title="'+title+'" target="_blank">'+ltext+'</a>' + myField.value.substring(endPos, myField.value.length);
}
else
{
myField.value += myValue;
}
}
</script>
</head>
<body>
url: <input type="text" id="insUrl" /><br />
title: <input type="text" id="insTitle" /><br />
linked text: <input type="text" id="insLText" /><br />
<input type="button" id="btnInsertText" value="Insert Link" /><br /><br />
<textarea id="myTextArea" rows="6" cols="50"></textarea>
</body>
</html>