我在内容区域有一个 iframe:
<iframe name="my_iframe" frameBorder="0" height="200" src="about:blank"></iframe>
我下面有一个提交按钮:
<form action="includes/action.php" method="post" target="my_iframe">
<input type="submit" value="Submit">
</form>
我想要在另一个区域中添加一些复选框:
<form action="includes/action.php" method="post" target="my_iframe">
<input type="checkbox" name="option">
</form>
但它不起作用,提交按钮起作用但它不发送复选框。
我不能将所有内容都放在一个标签中,因为我想要主视图侧面板中的复选框和另一页中某个页面上的提交按钮。 (按 ajax 加载?顺便说一句,我正在使用 frameworks7。)
是否不可能使用不同的表单标签,还是因为 ajax 的问题?
EDIT1:我设法构建了一个示例,以便更容易理解 plunker,它不适用于 php,而且我现在没有网站空间,但你明白了。
最佳答案
更新 2
为了在没有过时的缓存混淆测试的情况下获得更清晰的结果,我已经更新了它,请查看最新更新:
http://plnkr.co/edit/34KOyh9rIEGV3bXNsD9F?p=preview
更新
既然我得到了一个非常完整且编码良好的演示,我就解决了你的问题。
http://plnkr.co/edit/Z2I1Q2swIXmFfynalaLB?p=preview
注意:我使用的是测试服务器,因此缓存可能已过时。只需在末尾添加一个数字来更改 action
。
示例
改变:
http://www.hashemian.com/tools/form-post-tester.php/so_post_chk
到:
http://www.hashemian.com/tools/form-post-tester.php/so_post_chk1
选中该复选框时,您的结果应该是
cache=on
当复选框未选中时,您的结果应该是
cache=
您可以在表单之外分配一个或多个输入(通常是 type="hidden"
),并从页面上的任何位置收集任何数据,而不管它来自哪个表单。
http://plnkr.co/edit/er5RoJ049xSBwtR7gtTI?p=preview
这个演示围绕一个简单的 JS 函数展开:
function toOutput(x) {
var str = x.toString();
var out4 = document.getElementById('out4');
out4.value += str;
}
注意复选框的特殊情况:
if(this.checked) {
toOutput(this.value);
text1.value += this.value;
};
它是必需的,因为当在复选框上触发 click
事件时,每次点击都会将其视为已选中和未选中。我假设复选框值是在实际选中时收集的。
关于html - 具有相同目标 iframe 的不同位置的多个 <form> 标记?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35071822/