Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
文本输入值中的JavaScript变量_Javascript_Jquery_Html - Fatal编程技术网

文本输入值中的JavaScript变量

文本输入值中的JavaScript变量,javascript,jquery,html,Javascript,Jquery,Html,我有一个主html页面,其中有一个文本输入字段和iframe 我希望能够单击iframe中的链接,并将输入文本框的值更改为名为selectedText的变量的值 我不知道如何使它工作。我只能在主页上通过以下方式使其工作: newListNote.value = selectedText; 我认为这与同源策略和跨站点脚本策略有关。如果我错了,你就不能纠正我。因为你不能直接从iframe设置父页面的文本框值, 在主页中创建一个javascript函数,如下所示 function setValue(

我有一个主html页面,其中有一个文本输入字段和iframe

我希望能够单击iframe中的链接,并将输入文本框的值更改为名为selectedText的变量的值

我不知道如何使它工作。我只能在主页上通过以下方式使其工作:

newListNote.value = selectedText;

我认为这与同源策略和跨站点脚本策略有关。如果我错了,你就不能纠正我。

因为你不能直接从iframe设置父页面的文本框值, 在主页中创建一个javascript函数,如下所示

function setValue(val) {
  document.getElementById('newListNote').value = val;
}
parent.setValue(selectedText);
从iframe页面调用这个函数,如下所示

function setValue(val) {
  document.getElementById('newListNote').value = val;
}
parent.setValue(selectedText);

我认为你的文本框有ID NeXListNo.希望它能工作,谢谢。

假设您在标记jQuery时使用它,并且iframe是站点中的另一个页面,那么最好使用.load

$( "#result" ).load( "ajax/test.html" );
然后将页面加载到文档中,您可以在其中访问链接。然后你就可以实现你原来的目标了。如果该页面位于您的站点外部,我不确定这是否可行


祝你好运,

这里@balaG和@Gereltod的两个答案的组合是正确的

正如@gereltd所建议的,您不能从iframe外部在iframe内运行JavaScript。如果可以的话,那么互联网将出现严重的安全问题


正如@BalaG所建议的,如果您希望网站根据iframe中的事件进行更改,则需要在iframe中编写代码,并将其与父级一起预编。

如果您在本地运行,则无法更改。如果您在服务器或节点webkit上运行,则可以是,它确实具有此功能id@Jess此JavaScript代码需要在iframe中才能工作。我猜你没有把它放在iframe中?@balaG编辑并没有真正改变核心功能,它只是把它放在一个函数中。检查这个旧的答案