【问题标题】:How to notify the FormWizard plugin about skipped steps (not shown) to avoid losing data?如何通知 FormWizard 插件有关跳过的步骤(未显示)以避免丢失数据?
【发布时间】:2012-04-13 16:45:09
【问题描述】:

我有一个集成了 8 步表单的表单向导插件;问题是,每当我尝试编辑信息然后跳转到表单中的特定步骤时,基本上跳过忽略前面的步骤,所有未显示的步骤(因为我跳过了它们)都不会发送!!! :( 所以丢失了所有已经填充到这些字段中的数据。

例如,

$("#demoForm").formwizard("show","Step4");

这将触发 Step4,但是如果我在 Step1 并且没有看到 Step2 和 Step3,并直接跳到 Step4.. 那么插件会忽略那些 Step2 和 3,所以当我的处理脚本将处理空数据时。我想知道如何通知插件现在显示了一些步骤来提交这些值。

注意:我没有为此使用 Ajax。

这是设置所在:

$("#demoForm").formwizard({
    formPluginEnabled: false, 
    validationEnabled : true, 
    disableUIStyles : true,
    textNext: "Siguiente",
    textBack: "Anterior",
    textSubmit: "Guardar",
    focusFirstInput : true
},
{
    messages: { email: "Invalid email"} 
},
{
    // form plugin settings                     
}
);

像这样跳到特定的步骤...

$('#gotostep').change(function(){
    if($(this).val() != '')
    {
        $("#demoForm").formwizard("show",$(this).val());
        return false;
    }
});

..如果我尝试使用以下命令强制提交任何步骤的更改,也会发生同样的事情: $("#demoForm").submit(); :/

提前致谢! 弗兰克

【问题讨论】:

    标签: jquery-plugins formwizard jquery-form-wizard


    【解决方案1】:

    我想在提交表单时启用表单中所有禁用的输入元素就足够了?这样做例如通过将回调连接到表单提交事件,如下所示:

    $(function(){
        var form = $("#demoForm");
        form.submit(function(){
              form.find(":input:disabled").removeAttr("disabled");
        })})
    

    希望这会有所帮助。

    【讨论】:

    • 非常感谢桑德曼!做到了!我不知道这些步骤中的所有字段都具有“禁用”属性!再次感谢。 -F
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-21
    • 2020-09-23
    • 2021-08-27
    • 1970-01-01
    相关资源
    最近更新 更多