将表单数据POST到iframe中的另一个表单

时间:2015-10-14 18:16:19

标签: javascript php jquery html iframe

所以我正在运行JX Browser,允许内容显示在iframe中。当有人登录我的售票软件时,我想将username and password发布到form中的另一个iframe

基本上iframe包含我希望它们自动登录的页面。票务软件​​和页面的登录凭据是相同的,我想要做的就是将该凭证传递给iframe,其中有用户名和密码字段。

就像在jquery中一样,你可以获得每个提交内容的.val,然后将其发送到另一个表单字段..我想这样做..

最佳做法是什么?

1 个答案:

答案 0 :(得分:3)

您可以在表单上设置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的网址,其中POST数据随请求一起传递。 (它是一个允许测试POST的随机网站。)

我认为这不是一个好主意,如果在接收端有一个保护措施(如CSRF代币),它可能无法正常工作,但是如果有& #39;最后的手段类型情况