在jQuery Steps中提交步骤更改

这是我所拥有的代码块:

$("#test-wizard").steps({ headerTag: 'header', bodyTag: '.container', transitionEffect: "slideLeft", autoFocus: true, onStepChanged: function(event, currentIndex) { $('#skills-form').submit(); return true; } }); 

所以你可以看到我正在使用jQuery Steps来构建多步骤表单。 在每一步,我都想将结果(值)发送到后端服务器。 为了做到这一点,我正在使用submit(),但它重新加载页面,这意味着它不会进入表单的下一步。 我需要的是在每一步提交表单,但防止刷新整个页面,导致表单返回到第一步。 当然,我尝试在提交函数上使用event.preventDefault(),但之后它也阻止了对后端的请求(但我只需要阻止刷新页面)。

您可以将其序列化并使用AJAX发送数据,而不是提交表单

 $("#test-wizard").steps({ headerTag: 'header', bodyTag: '.container', transitionEffect: "slideLeft", autoFocus: true, onStepChanged: function(event, currentIndex) { var formData = $('#skills-form').serialize(); // Gets the data from the form fields $.post('path_to/form_handler_file', formData) } });