我在弹出窗口中有一个Javascript代码。现在,我需要使用它而不会弹出。这意味着在由iframe组成的页面中。
在iframe中,有一个页面,其形式为“ ChatMsg”,文本字段为“ mesg”。
所以我需要在主页上放置onclick脚本,它应该将值传递到iframe页面。
我为iframe添加了一个ID,iframe ID为btnLocFrame
首页中的当前代码是下面给出的前两个代码部分,形式在代码的第三部分(iframe的源页面)中。
我试图通过将window.opener更改为window.top来更正代码,但这不起作用
<a href="javascript:pick(':IG');" alt=":IG" title=":IG"><img class="img-responsive" src="https://www.onlanka.com/chat/converts/smile7.gif"></a>
<script language="javascript">
function pick(symbol) {
if(window.opener) window.opener.document.chatMsg.mesg.value += (window.opener.document.chatMsg.mesg.value == "") ? symbol : " " + symbol;
}
</script>
<form name="chatMsg">
<input type="text" name="mesg" id="mesg" maxlength="512" value="" autocomplete="Off">
</form>
我曾希望在单击链接后将链接的分配值传递到表单文本字段中,但这不起作用。
请帮助我更正代码
答案 0 :(得分:1)
当您尝试使用模态将Imoji代码插入Iframe元素时,尝试如下更改pick
函数
function pick(symbol) {
var iframe = document.getElementById('btnLocFrame');
var innerDoc = (iframe.contentDocument) ? iframe.contentDocument : iframe.contentWindow.document;
var oldValue = innerDoc.getElementById("mesg").value;
innerDoc.getElementById("mesg").value = oldValue + symbol;
//if (window.opener) window.opener.document.chatMsg.mesg.value += (window.opener.document.chatMsg.mesg.value == "") ? symbol : " " + symbol;
}