我设法让Django-ajax-validation(版本1.3)在我的项目中工作,方法是使用我的表单在模板的脚本中设置focusout
事件,如下所示:
$('#ajax_validated_form').validate('{% url contact_form_validate %}', {type: 'ul', event: 'focusout'});
每当我从表单的任何输入字段中聚焦时,都会通过ajax验证表单的每个字段(点击输入后点击其他内容)。
但是,我只想在点击<button id="ajax_submit">Ajax submit</button>
元素时进行验证。
所以我尝试了以下内容:
$('#ajax_validated_form').validate('{% url validate_entity %}', {type: 'ul', event: $("#ajax_submit").on("click")});
但这不起作用。我该怎么做?
答案 0 :(得分:2)
我必须通过作为第二个参数传递给validate方法的对象中的dom键(dom: $("#ajax_submit")
)的值来指定我想要将事件耦合到的元素。
所以我需要的是以下内容:
$('#ajax_validated_form').validate('{% url validate_entity %}', {type: 'ul', dom: $("#ajax_submit"), event: "click"});
还要知道#ajax_validated_form
不一定要引用form
元素来让验证工作,如果表单输入{{1}中包含的内容,它也可以正常工作}!
E.g:
div
与
一样有效<div id="ajax_validated_form">
{{ ajax_val_form }}
</div>
不要忘记在页面脚本中加入以下内容(来自django docs):
<form id="ajax_validated_form" action="" method="post">
{{ ajax_val_form }}
</form>