4

我还没有看到有人问过这个问题——尽管我确实阅读了大约 100 个关于类似主题的 jQuery 步骤——但似乎没有一个能解决我的问题。

我正在使用 jQuery 步骤,并希望在第一步完成后添加一个“重置”按钮 - 以防我的用户想要清除表单并重新开始。我希望这个按钮在默认的“下一步”按钮之后被取消。

这是我当前基于默认基本形式的脚本here

$(function ()
{

    function errorPlacement(error, element)
    {
        element.before(error);

    }
    $("#form").validate({
        rules: {
            zip: {
                required: true,
                maxlength:5,
                minlength:5
                },
            phone: {
                required: true,
                minlength: 10,
                phoneUS: true
            }

        }
    });


    $("#wizard").steps({
        headerTag: "h3",
        bodyTag: "section",
        transitionEffect: "slideLeft",
        onStepChanging: function (event, currentIndex, newIndex)
        {
            // Allways allow step back to the previous step even if the current step is not valid!
            if (currentIndex > newIndex)
            {
                return false;
            }


            $("#form").validate().settings.ignore = ":disabled,:hidden";
            return $("#form").valid();

        },
        onFinishing: function (event, currentIndex)
        {
            $("#form").validate().settings.ignore = ":disabled";
            return $("#form").valid();
        },
        onFinished: function (event, currentIndex)
        {
            alert("Thank you! Your request has been sumbitted.");
        }
    });
});
4

3 回答 3

1

您可以启用并使用cancel按钮来调用validator.resetForm(). 请参见以下示例:

$(function ()
{
    var validator;

    $("#wizard").steps({
        enableCancelButton: true,
        onCanceled: function (event)
        {
            validator.resetForm();
        }
    });

    validator = $("#form").validate({
        rules: {
            zip: {
                required: true,
                maxlength:5,
                minlength:5
            },
            phone: {
                required: true,
                minlength: 10,
                phoneUS: true
            }
        }
    });
});
于 2014-07-15T07:15:15.893 回答
0

您必须使用以下代码添加一个清除按钮:

$form.find("[aria-label=Pagination]").append('<li class="" aria-disabled="true"><a class="imp-sub" href="#">Reset</a></li>');

并且选定的布局应该被重置,最初它有一个当前类在当前类的帮助下,我们将重置选定的选项卡:

$('.current').find('input:text').val('');

最终版本:

form.find("[aria-label=Pagination]").append (' Clear' );

$(".btnClr").click(function() { validator.resetForm(); console.log(validator); $('.current').find('input:text').val(''); });
于 2020-07-01T09:34:31.593 回答
0
$form.find("[aria-label=Pagination]").append('<li class="" aria-disabled="true"><a class="imp-sub" href="#">Save &amp; Exit</a></li>');
于 2017-02-01T11:22:58.787 回答