我试图创建一个使用Parsley.js验证前端和异步提交一个表单。该表单称为#contactForm,提交按钮为#sendData,当我点击空或无效表单提交时出现错误。我期望看到来自无效表单数据的“错误”警报,但它只是继续使用Else条件,并且数据由contactForm.php处理。异步表单提交与parsley.js
$(document).ready(function() {
// submit data on click and check if valid
$('#sendData').click(function(e) {
//check if valid with parsley
var valid = $('#contactForm').parsley ('validate');
if (valid === false)
{
e.preventDefault();
}
else
{
$.post("contactForm.php", $("#contactForm").serialize());
}
});
});
下面适当的解决方案。
如果验证结果是布尔值,那么您的条件应该是'if(!valid)'或'if(valid === false)'。另外,考虑在你的点击处理程序中添加一个参数'e'并执行'e.preventDefault();'而不是返回'false'来取消事件。 – plalx
他们还规定对[他们的网站(http://parsleyjs.org/documentation.html#parsleyform),您必须从表单中删除'数据验证=“香菜”'属性来覆盖默认处理。 – plalx
感谢您的意见@plalx我从表单属性移除数据验证=“香菜”和校正布尔条件。出于某种原因,我仍然有同样的问题。 AH-忘了我。我误解了你的评论并解决了它。再次感谢。 – nobody