Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.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_Post_Dynamic_Userscripts - Fatal编程技术网

Javascript-从未打开的页面访问元素

Javascript-从未打开的页面访问元素,javascript,post,dynamic,userscripts,Javascript,Post,Dynamic,Userscripts,我的问题有点难以解释。我想做的是,我在某个页面上有一个按钮。当我按下该按钮时,我必须能够访问位于另一页上的表单元素,而不必打开另一页 按下该按钮将从未打开的页面编辑表单中的一些元素,然后发布,所有这些都不会打开任何额外的弹出窗口/选项卡/窗口。表单发布后,按钮将消失 所讨论的表单包含唯一的参数,如果不访问其特定页面,则无法检索这些参数,因此我无法在独立模式下模拟该表单 我的一些猜测是使用一个动态iframe集来显示:none或Ajax,但除此之外,我不确定这是否可行以及如何实现 有人有什么想法吗

我的问题有点难以解释。我想做的是,我在某个页面上有一个按钮。当我按下该按钮时,我必须能够访问位于另一页上的表单元素,而不必打开另一页

按下该按钮将从未打开的页面编辑表单中的一些元素,然后发布,所有这些都不会打开任何额外的弹出窗口/选项卡/窗口。表单发布后,按钮将消失

所讨论的表单包含唯一的参数,如果不访问其特定页面,则无法检索这些参数,因此我无法在独立模式下模拟该表单

我的一些猜测是使用一个动态iframe集来显示:none或Ajax,但除此之外,我不确定这是否可行以及如何实现

有人有什么想法吗?抱歉,如果问题不太清楚,我已尽力描述该问题

请尝试使用框架集。 下面给出的示例代码有3页 1.第1页是包含两个框架的父文档。 2.1参考第2页 3.2参考第3页

test1.htm

test2.htm

test3.htm

在test2页面中,可以从test3.htm页面更改global的值。

尝试使用frameset。 下面给出的示例代码有3页 1.第1页是包含两个框架的父文档。 2.1参考第2页 3.2参考第3页

test1.htm

test2.htm

test3.htm


在test2页面中,可以从test3.htm页面更改global的值。

我是这样做的,使用jQuery:

使用$.get从表单页面获取HTML代码 从HTML字符串中提取表单节点 创建一个隐藏的iframe 在新的iframe中解析表单的HTML 修改表单的值; 使用jQuery的.serialize对表单数据进行URL编码; 使用$.Post将序列化数据发布到目标,并使用 接收响应的回调函数 如果响应指示成功,则隐藏按钮并移除隐藏的 iframe
我决定从$.get返回的HTML字符串中提取表单,因为在将实际表单用作对象之前,解析表单不需要加载整个表单页面。使用隐藏的iframe进行解析可能不是最专业的方法,但它很有效。

我是这样做的,使用jQuery:

使用$.get从表单页面获取HTML代码 从HTML字符串中提取表单节点 创建一个隐藏的iframe 在新的iframe中解析表单的HTML 修改表单的值; 使用jQuery的.serialize对表单数据进行URL编码; 使用$.Post将序列化数据发布到目标,并使用 接收响应的回调函数 如果响应指示成功,则隐藏按钮并移除隐藏的 iframe
我决定从$.get返回的HTML字符串中提取表单,因为在将实际表单用作对象之前,解析表单不需要加载整个表单页面。使用隐藏的iframe进行解析可能不是最专业的方法,但它很有效。

您愿意使用jQuery吗?任何方法都可以,无论是jQuery、Ajax还是其他任何方法。这是一个用户脚本。你愿意使用jQuery吗?任何方式都可以,无论是jQuery、Ajax还是其他方式。这是一个用户脚本。
  <html>
<head>
<title>test</title>
<frameset rows="25px,*" frameborder="0" framespacing="0" >
<frame name="Frame2" id="Frame2" src="test2.htm"/>
<frame name="Frame1" id="Frame1" src="test3.htm"/>
</frameset>
</head>
</html>
   <html>
<script>
var global="testing"

</script>

</html>
<html>
<script>
alert(parent.window.frames[0].global);
parent.window.frames[0].global="local"

function test()
{
alert(parent.window.frames[0].global);
}

</script>

<body>
  <input type="button" onclick="test()" />

</body>
</html>