Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在iframe中提交表单_Javascript_Jquery_Forms_Iframe - Fatal编程技术网

Javascript 在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,我在其中加载带有淡入效果的网站内容。
为了在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停止。检查控制台以查看错误是什么。但是你必须提交一份表格来发布数据!