【问题标题】:POST form data to another form inside an iframe将表单数据发布到 iframe 内的另一个表单
【发布时间】:2015-10-14 18:16:18
【问题描述】:
所以我正在运行JX Browser,它允许在iframe 中显示内容。当有人登录我的票务软件时,我想在iframe 中将他们的username and password 发布到另一个form。
基本上iframe 包含一个我希望他们自动登录的页面。票务软件和页面的登录凭据是相同的,我要做的就是将该凭据传递给iframe,其中有用户名和密码字段。
就像在 jquery 中一样,您可以获得每个提交的内容的 .val,然后将其发送到另一个表单字段.. 我想这样做..
最佳做法是什么?
【问题讨论】:
标签:
javascript
php
jquery
html
iframe
【解决方案1】:
您可以在表单上设置target 属性,以通过名称将其指向<iframe>。
例如:
<form action="process_login_url" method="post" target="iframelogin" id="loginform">
<input name="login" type="hidden" value="login" />
<input name="password" type="hidden" value="p4ssw0rd" />
</form>
<iframe name="iframelogin">
<script>
// automatically post the form
document.getElementById('loginform').submit()
</script>
您需要使用用户登录名和密码预先填充隐藏字段,然后表单会自动发送到 iframe。 action 表单上的必须是另一个登录处理 url,而不是登录表单本身(如果它们是分开的)。所以基本上是外部表单的action 属性。输入字段的名称也必须与目标表单的名称匹配。
示例:http://jsfiddle.net/297suggf/2/ - 注意iframe 没有src 属性,它会在表单上加载来自action 的url,并使用随请求传递的POST 数据。 (这是一些允许测试 POST 的随机网站)。
我认为这不是一个好主意,如果在接收端有保护(如 CSRF 令牌),它可能不起作用,但如果是万不得已的情况,你可以试一试