Javascript 在iframe中提交表单
我在我的页面中有一个iframe,我在其中加载带有淡入效果的网站内容。Javascript 在iframe中提交表单,javascript,jquery,forms,iframe,Javascript,Jquery,Forms,Iframe,我在我的页面中有一个iframe,我在其中加载带有淡入效果的网站内容。 为了在iframe内处理表单提交,我创建了以下函数: $("#coll").contents().find("form input[type=submit").bind("click",function(event) { event.preventDefault(); element=$(this).parent("form"); if (element.attr("action") =
为了在iframe内处理表单提交,我创建了以下函数:
$("#coll").contents().find("form input[type=submit").bind("click",function(event)
{
event.preventDefault();
element=$(this).parent("form");
if (element.attr("action") === "") {
$("#coll").fadeOut("slow",function()
{
element.submit();
});
}
else {
var page = element.attr("action");
$("#coll").fadeOut("slow", function()
{
$('#coll').attr("src",page);
});
}
return false;
});
问题是,如果表单有一个操作,则会加载新页面,但不会发送表单的值。问题在哪里
具有空操作的表单运行时没有问题。只有在表单没有操作时才调用submit。如果它确实有一个操作,那么您只需将src设置到操作页面-这不会提交表单,而只是更改url。您需要在
else
子句中调用元素.submit()
。这就是您的代码吗?如果是,则“表单输入[type=submit”缺少另一个“]”。你也应该发布你的HTML,这样我们可以有更多的上下文。你是否使用$('#coll').attr(“src”,page);要加载另一页吗?如果是这样的话,它解释了表单值丢失的原因-表单没有像操作属性丢失那样提交。@RustytheByRobot谢谢,我解决了这个问题,但似乎不是问题所在。@Dmitry实际上我使用了$('#coll').attr(“src”,page);如果有操作,请再次检查代码。当我更改该操作时,当我单击“提交”按钮时,什么也没有发生。您必须提交表单以发布数据。我没有你的代码来测试它,所以我不能确切地告诉你什么代码可以解决这个问题,但我可以告诉你,仅仅更改src不会提交表单,所以这就是问题所在。如果什么也没发生,那么您可能会得到一个javascript错误——这会导致jquery停止。检查控制台以查看错误是什么。但是你必须提交一份表格来发布数据!