javascript - 使用 parsleyjs 验证后启用提交按钮

标签 javascript parsley.js

Parsley 是否有一种简单的方法来加载禁用提交按钮的表单并在满足表单的所有验证要求的情况下启用它?

最佳答案

我不确定您所说的“简单”是什么意思,但您之后可以完成什么。

您需要listen to the events parsley:form:successparsley:form:error 启用/禁用按钮。

您还需要监控每个表单字段的更改,以强制 Parsley 进行验证。通常,一旦您单击 submit,Parsley 就会执行验证。由于提交被禁用,您需要手动触发验证。

所以,这是一个工作示例 ( jsfiddle ):

<form>
    <input type="text" name="field" data-parsley-required />
    <button type="submit" disabled>Submit</button>
</form>

<script>
$(document).ready(function() {
    // bind Parsley to the form
    $("form").parsley();

    // Whenever parsley validates successfully, we enable the submit button
    $.listen('parsley:form:success', function(ParsleyForm) {
        ParsleyForm.$element.find('button').prop('disabled', false);
    });

    // When a validation error occurs, we disable the submit button
    $.listen('parsley:form:error', function(ParsleyForm) {
        ParsleyForm.$element.find('button').prop('disabled', true);
    });

    // We need to monitor all form fields and force Parsley's validation manually
    // This will result in enabling or disabling the submit button
    $("form :input").change(function() {
        $(this).closest('form').parsley().validate();
    });
});
</script>

请注意,您需要监控所有字段(输入、选择、文本区域等)的更改。

关于javascript - 使用 parsleyjs 验证后启用提交按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29814930/

相关文章:

javascript - 非常简单的 vue.js 组件生成超出最大调用堆栈大小

javascript - jQuery 单击在第二次单击时触发,但在第一次单击时不触发

javascript - 未应用欧芹选项

jquery - 使用 parsley.js 异步提交表单

javascript - 获取以像素为单位的 COLUMN 宽度(来自百分比)

javascript - 如果 Array 键实际上是字符串,那么 Array 与 Object 的区别是什么?

javascript - Babel CLI 引用错误 : regeneratorRuntime is not defined

javascript - parsley.js - 日期字段的自定义验证

javascript - 使用 parsleyjs onkeyup 验证

javascript - 在 Parsley js 中使用自定义验证