我正在使用jQuery表單插件來提交AJAX請求。我正在嘗試做一些簡單的驗證(確保字段已填寫),然後再提交。我不想在提交之前運行任何AJAX驗證。在我添加beforeSubmit之前添加ajaxform()方法的選項,表單將提交和我的控制器代碼將運行良好。一旦我添加了帶有驗證函數名稱的beforeSubmit選項,表單將不會提交,無論我從validate方法返回false,true還是nothing。這裏是我的,設置了形式初始代碼:無法使用JQuery表單插件簡單驗證來提交表單
$(document).ready(function() {
var options = {
beforeSubmit: function(data, form, options) { return validate(data, form, options); },
url: '/PromoManagement/Images/AddImages?partial=true',
success: updateImageList
};
$('#frmAddImages').ajaxForm(options);
});
,這裏是我的驗證功能:
function validate(data, form, options) {
var returnMessage = new Array();
$('#txtImagePath,#txtImageCaption').removeClass('validationError-input');
clearValidation();
if ($('#txtImagePath').val().length == 0) {
returnMessage.push('<li>Image Path is required</li>');
$('#txtImagePath').addClass('validationError-input');
}
else {
if (!parseFileExtension($('#txtImagePath').val())) {
returnMessage.push('<li>Please provide an image with an extension of .jpg, .gif, or .png</li>');
$('#txtImagePath').addClass('validationError-input');
}
}
if (returnMessage.length > 0) {
$('.errorList').show();
}
if (returnMessage.length != 0) {
buildValidationList(returnMessage);
return false;
}
else {
return true;
}
}
我都試過,如果沒有遇到任何錯誤返回什麼,但我得到了相同的結果。我能夠打入驗證代碼並查看函數返回的內容,並且始終如預期。我在這裏錯過了什麼嗎?
試過這個:我得到了同樣的結果。 validate()函數被調用,返回true,但表單從不提交。 – 2009-02-12 21:45:40