1

我正在使用fuelux 向导进行多步骤订购流程。我的向导工作正常,但是如果我将整个向导包装在一个表单中,无论我尝试什么,它都会在我单击下一步时提交表单。

我尝试将 type="button" 添加到按钮,以便它们不被视为提交按钮,并允许我以编程方式提交表单 .on('finished' 但随后向导不会通过这些步骤进行。

我努力了:

 $('#fuelux-wizard').wizard().on('change' , function(e, info){
                e.preventDefault();
}

但是在记录有问题的 e 之后,它是“更改”,所以我认为这与向导而不是表单有关。

我的 jquery/javascript 知识和对事件等的理解还不足以解决这个问题,我被卡住了。

另一种方法似乎是在每个步骤中都有单独的表单,然后以某种方式将它们组合起来,但是如果我可以控制提交,将向导包装在一个表单中时,这似乎非常复杂,这似乎应该是可能的.

任何人都可以给我任何指示吗?

谢谢。

4

1 回答 1

1

我找到了解决方案。不确定它是否特别优雅,但它确实有效。

因此,在初始化向导之前,我将 preventDefault 绑定到表单上的提交事件。

$('#order_form').on('submit',function(e){
                e.preventDefault();
            });

然后在向导初始化中,我将它绑定到“完成”事件中:

$('#fuelux-wizard').wizard().on('finished', function(e,data) {
                // allow order form to be submitted
                $('#order_form').unbind('submit');
                // submit order form
                $('#order_form').submit();
   });

有人提出更优雅的解决方案或看到我所做的任何问题吗?

于 2014-03-03T17:38:15.337 回答