2012-01-01 58 views
1

我在我的网站上有这个联系表单,我想要做的事情是,由于我在所有页面上都有联系人按钮,当用户单击联系人按钮时,联系表单弹出。已实现。然后,当用户点击联系表单上的提交按钮后,我不想将用户带到结果页面,而是想要一个结果div在用户所在的当前页面上弹出。我该如何解决这个问题?如何在表单提交后弹出一个div

+1

的形式用ajax提交?还是它执行整个页面的文章?那就是你使用纯HTML作为你的表单

或者你是否使用类似jQuery的$ .post()? – 2012-01-01 16:25:23

+0

@luisperezphd,我正在使用Jquery验证表单,然后使用php将表单发布到电子邮件地址。它的设计方式是,如果电子邮件发送,我的PHP脚本会返回成功的URL。现在我想要的是,而不是使用该成功的网址将我重定向到结果页面,我只是想要一个弹出div。我在猜测的是,我可以使用jquery来检测一个特定的散列,它可以触发一个div弹出,但不知道它是如何完成的。 – 2012-01-01 16:42:01

回答

1

使用http://jquery.malsup.com/form/#ajaxForm来调整表单,并在回调中设置div的innerHTML。

$('#myForm').ajaxForm(function() { 
    $('#someDiv').html("Success!"); 
}); 
+0

请不要推荐复制可以写成约10行的行为的插件。 – Bojangles 2012-01-01 16:33:06

+0

@JamWaffles为什么呢?每次重复使用轮子而不是重新制作轮子都不好?我不这么认为! – clyfe 2012-01-01 17:04:37

+0

添加下载插件文件的开销以及是否由浏览器解析是不好的?我确实这么认为。下载一个比实际需要的功能多得多的大插件是不好的,它只是略微简化了已有的简单方法?我确实这么认为。 – Bojangles 2012-01-01 17:06:53

3

最好的办法是使用这种模式:

$.ajax({ 
    type: "POST", 
    url: "test.php", 
    data: "do=" + do, 
    success: function(dta){ 
     $("#alert").html("Success"); 
    } 
    }); 
+0

我该如何实现这一点?我的表单在服务器端进行处理,我需要提供一种可能会触发正在查找的div的返回url。 – 2012-01-01 16:53:39

+0

我不明白你在说什么,你能举个例子吗。 – MahanGM 2012-01-01 17:33:37