2013-10-02 71 views
4

我找不到任何帮助我解决这个问题的文档。对于Parsleyjs来说,这似乎是一个非常简单的事情。当表单无效使用Parsleyjs时,禁用提交输入

我要的是,直到我的形式是有效的,禁用提交按钮 - 这是我在我的HTML默认: <input id="new-node-form-submit" type="submit" value="done" disabled>

当窗体知道它是有效的,它应该从提交移除已停用的属性按钮。如果表单在用户填写时再次失效,则应将禁用的属性添加回去。

我想使用欧芹文档来添加一个监听器到窗体,然后检查窗体是否有效,但我似乎无法得到这个工作。有什么建议么?这似乎是一个非常简单的事情,不知何故,我只是没有得到。

$('#new-node-form').parsley('addListener', { 
    var isValid = $('#new-node-form').parsley ('validate'); 
    if(isValid == true) { 
     console.log("Your form is valid!"); 
    } 
} 

回答

1

您的JavaScript在给出的示例中无效。第二个参数为parsley('addListener')调用应该是一个JavaScript对象,其中该对象的属性是香菜事件监听器添加到:

var $form = $('#new-node-form'); 

$form.parsley('addListener', { 
    onFieldValidate: function() { 
     console.log('form valid=', $form.parsley('isValid')); 
    } 
}); 
0

的问题是旧的,可​​能香菜更新了其API,但我不能得到addListener工作,这里有一个替代方案:

$(function() { 
    window.Parsley.on('field:validate', function() { 
     var form = this.$element.closest("form"), 
      submit = form.find('.xbtn-submit'); 
     if (form.parsley().isValid()) { 
      submit.removeAttr("disabled"); 
     } else { 
      submit.attr("disabled", "disabled"); 
     } 
    }); 
}); 
相关问题