2017-10-04 142 views
0

我花了一些时间尝试从各种类似的问题获得此工作,但找不到与我正在寻找的解决方案完全匹配的解决方案。从iFrame中的表单发送到父窗口中的弹出窗口

所以我有一个非常基本的形式与3个单选按钮嵌入在另一个页面上的iframe。当我点击一个单选按钮,该代码会自动提交响应

<script type='text/javascript'> 
$(document).ready(function() { 
$('input[name=rating]').change(function(){ 
$('form').submit(); }); 
}); 
</script> 

现在,此刻我的形式看起来像这样

<form method="POST" action="https://formspree.io/myformspreeurl" target="_parent"> 

所以这个成功提交来自iframe的响应我提交一份行动代码,但在父页面上。

我想要发生的事情是,当选中表单上的单选按钮之一时,它会自动提交,但会弹出一个窗口(以完成验证码),以便用户不必从父页面。

可能或我在复杂的事情?

感谢您的帮助,

回答

0

使用

<form action="" method="post" target="_blank"> 

,这应该打开一个新页面并将数据提交给它。我看你是使用jQuery,所以你可以改变目标动态基于使用特定的单选按钮选择:

$("form").prop("target", targetValue); 
+0

感谢您的回复。使用_blank的问题是,当我这样做时,formspree不会看到“POST”命令。从我的研究看来,从iframe提交到“_blank”选项卡实际上并不传递选定的信息。 “_parent”肯定会传递信息,但不幸的是,父页面重定向来完成formpree captcha,这是我想要避免的。 – allymonty

0

使用Ajax提交表单动态地,你不会被重装父页面,如果我已了解真实的。

$.ajax({ 
    type:'POST', 
    url:'https://formspree.io/myformspreeurl', 
    data:$('form').serialize(), 
    success: function (e){ 

    //what you want to do after submiting// 

    } 
});