繁体   English   中英

如何在提交后阻止表单重定向?

[英]How do I prevent form from redirecting after submission?

我搜索了网站,我发现了各种解决方案,其中大多数建议使用

return false;

问题是我正在使用这段代码提交表单:

$(function() {  
    $("#snd").click(function() {  
        var dendar = "http://" + $("#inpt").val() + ":" + $("#pwd").val() + "secretsite.lol/something.xml";
        $("#formen").attr("action", dendar);
        $("#formen").submit();
        alert(dendar);
        return false;
    });  
});

警报就在那里让我知道表格已经提交..

多谢你们!

您必须在submit()调用的事件处理程序中返回false,而不是单击处理程序。

$("#formen").attr("action", dendar); $("#formen").submit(
   function() { 
      return false;
   }
);

正如其他人所指出的那样,这将阻止表格提交。 您要做的是收集表单数据并使用Ajax调用提交。

$ .post(url,{var1:value1,var2:value2 etc ...});

您无法阻止重定向,但您可以将表单提交到(可能隐藏的)iframe中,这样您就不会离开当前页面

如果帖子与当前页面位于同一服务器而您没有发布文件数据,那么Ajax会更好

如何使用POST对数据处理程序进行AJAX调用呢? 这听起来像你想要的。

使用jquery 1.4:

$("#formen").live("submit",function(e) {  
   e.preventDefault();
}

这将阻止表单实际提交。 然后你可以自由地对应该发布的数据做任何事情(使用ajax,在页面上打印一些内容......)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM