[英]Parsley.js Submit form not working when using addAsyncValidator and remote
我有一個注冊表格,該表格分為多個塊,根據網站上的示例之一,使用此代碼可以正常工作:
$('.register-next').on('click', function () {
var current = $(this).data('currentBlock'),
next = $(this).data('nextBlock');
console.log('current block = ' + current);
console.log('next block = ' + next);
// only validate going forward. If current group is invalid, do not go further
// .parsley().validate() returns validation result AND show errors
if (next > current)
if (false === $('#form-register').parsley().validate('block' + current))
return;
// validation was ok. We can go on next step.
$('.block' + current)
.removeClass('show')
.addClass('hidden');
$('.block' + next)
.removeClass('hidden')
.addClass('show');
});
然后,我想在代碼的最后一塊添加一個額外的ajax驗證,以確保用戶名尚未被使用。 我有檢查工作,但問題是,通過驗證檢查后,現在將不提交表單。 單擊提交按鈕僅再次調用遠程功能。
我假設一旦完成所有驗證檢查,就必須重新分配“提交”按鈕的功能?
ID用戶名與表單最后一塊中的輸入字段有關。
謝謝
$('#username').parsley().addAsyncValidator(
'validateUsername', function (xhr) {
var UserLogin = $('#username').parsley();
window.ParsleyUI.removeError(UserLogin,'errorUsername');
if(xhr.status == '200'){
console.log("in 200");
return;
}
if(xhr.status == '404'){
response = $.parseJSON(xhr.responseText);
console.log("username exists");
window.ParsleyUI.addError(UserLogin,'errorUsername',response.error);
}
}, 'inc/check_username.php'
);
我終於完成了這項工作。 可能有一種更簡單的方法可以完成此操作。
首先,我在代碼中犯了一個錯誤,如果狀態為200,則需要返回true
$('#username').parsley().addAsyncValidator(
'validateUsername', function (xhr) {
var UserLogin = $('#username').parsley();
window.ParsleyUI.removeError(UserLogin,'errorUsername');
if(xhr.status == '200'){
return true;
}
if(xhr.status == '404'){
response = $.parseJSON(xhr.responseText);
console.log("username exists");
window.ParsleyUI.addError(UserLogin,'errorUsername',response.error);
}
}, 'inc/check_username.php'
);
然后,我添加了一段代碼來偵聽要單擊的提交按鈕,並在使用javascript提交之前從表單中刪除了香菜驗證。
$('#new-user-submit').click(function(){
$('#form-register').parsley().asyncValidate()
.done(function(){
$('#form-register').parsley().destroy();
$('#form-register').submit(); });
});
我不是javascript的大用戶,因此通常需要一些時間來完成這些工作,但是我認為香菜非常受歡迎,因此會提供更好的支持和文檔。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.