1

我有一个使用 jquery.validate 进行验证的多步表单。验证正在工作,但用户可以继续执行第 2 步,即使第 1 部分未验证客户端。下一个按钮不是提交按钮,它只是取消隐藏 step2。我需要禁用每个步骤的下一步按钮,直到该步骤中的所有字段都验证客户端。表格直到最后一步才提交。任何帮助,将不胜感激。

这是我的 .js

$("#form1").validate({
    onfocusout : function(element) {
        $(element).valid();
    }
})

.html

<fieldset id="step1" style="display:block;">
        <label>Unit #</label>
        <input type="text" id="unit" name="unit" placeholder="Unit" class="required"/>
        <label for="unit" class="error"></label>

            etc........

        <button type="button" onclick="changeTab(2);">
            Next
        </button>

</fieldset>
<fieldset id="step2" style="display: none;"> etc.......
4

1 回答 1

2

首先给你的按钮一个 id 或类,如下所示:

<button type="button" onclick="changeTab(2);" id="some-btn">
    Next
</button>

在页面首次加载时执行此操作:

$("#some-btn" ).buttonMarkup( "disable" );

一旦页面可用,这将禁用按钮,当验证成功时,只需启用它:

$("#some-btn" ).buttonMarkup( "enable" );

在官方文档中了解更多信息:http: //api.jquerymobile.com/button/#method-disable

还有一件事,一些 jQuery Mobile 按钮类型只能通过自定义 javascript 禁用,请在此处阅读更多信息。

于 2013-06-02T18:13:43.460 回答