2012-04-16 60 views
0

我目前正在研究多步查询表单,可以在以下网址找到:http://jsfiddle.net/xSkgH/47/用于提交表单的jQuery加载

我想通过jQuery AJAX提交变量(process.php将处理处理)并刷新div的最后一步与process.php称为结果的div。我怎样才能做到这一点?

我到目前为止设法使用malsup的jQuery表单插件(http://jquery.malsup.com/form/)来完成此操作。

我想切换到负荷要求,并已告知使用下列内容:

$ ('#last-step'). load (url , data , function(){}) 

将发送POST请求,填写“最后一步”的HTML内容与任何的网址打印到响应html中。但我不知道如何替换下面的代码,并使用.load:

我目前使用的代码可以在这里找到: http://codetidy.com/2522/

提前非常感谢。

+1

任何原因您为什么不想使用“加载”而不是“发布”的特定原因?用“post”你可以使用'var data = $(this).serialize()'并发送它。 – 2012-04-16 20:49:51

+0

我被建议在这里使用它http://stackoverflow.com/questions/10175631/running-ajax-query-to-refresh-div-with-php-file检查答案由罗迪克 – CJS 2012-04-16 20:51:13

+0

@MarcoJohannesen没有真正的功能尽管使用'$ .post()'和'.load()'之间的差异;假设你将数据作为对象传递,当然不是字符串。 '.load()'有处理替换元素的HTML的优点,尽管这本身并不难做到。 – 2012-04-16 21:29:21

回答

2
$('#test').submit(function() { 
    var data = $(this).serialize(); 
    var url = "http://www.google.com"; 

    $.post(url, data, function(data) { 
     $('#last-step').html(data); 
    }); 

    return false; 
}); 

如果您可以使用“发布”代替。

否则,您需要循环所有输入区域并将它们组合成一个对象,以便随负载一起发送。

+0

我现在使用不同的方法:http://stackoverflow.com/questions/10182135/jquery-load-not-working-simply -restarts多段形式。我仍然可以使用这种方法吗? – CJS 2012-04-16 22:03:00

+0

该链接dosen't工作:/ – 2012-04-17 05:44:20

+0

对不起,关于 - 试试:http://jsfiddle.net/xSkgH/90/ – CJS 2012-04-17 06:48:48

1

如果你不想从头开始写这个,我建议你寻找jQuery向导插件,为你处理它们之间的步骤和naviagtion。做一个快速谷歌搜索我发现一对夫妇:

得到这个正确的可能很难,特别是如果你要使用的浏览器历史记录,以便能够使用的返回按钮返回到前面的步骤,因此要尽量利用现有的工作。另外:确定你想要做什么之前,你选择插件,所以你不会遇到一半的限制。

+0

哎谢谢你的帮助!我已经得到了表单工作,只是提交,这使我麻烦... – CJS 2012-04-16 21:01:45