我試圖創建一個使用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