插件:Jquery.form.js |的jquery.js
解释 我想在显示加载栏之前验证标题和说明。在Jquery提交的php中,我检查标题是否超过3个字符且小于80,等等。如果所有这些信息都是正确的,则上传脚本将运行,但如果不是,那么php将会死亡并显示相应的错误响应。
问题是加载栏显示整个请求的加载进度而不仅仅是上传过程,这很好但是在我想要显示加载栏之前我希望能够验证文本字段PHP。
如果您认为可以以更好的方式完成,请详细说明。
JS
function noteUpload() {
var options = {
beforeSend: function() {
// set everything to 0
},
data:
{
title: $('#uploadNoteTitle').val(),
description: $('#uploadNoteDescription').val()
},
uploadProgress: function(event, position, total, percentComplete) {
//Over here I show the loading bar and let it update with "percentComplete"
},
success: function() {
},
complete: function(response) {
//Over here i receive the response and show the error messages if there are any.
},
error: function() {
console.log("error");
}
}
};
非常感谢!
罗布
答案 0 :(得分:0)
如果验证为真,则创建一个函数来验证标题和描述以及函数结束调用noteUpload函数:
function validateForm(){
// validate script
if(true == validation){
noteUpload()
}
}
答案 1 :(得分:0)
您需要在
中添加某种形式的验证beforeSubmit
回调。如果失败,只需返回false并且不会发布表单。举个例子,假设你使用的是jquery.validate(http://bassistance.de/jquery-plugins/jquery-plugin-validation/)
var options = {
beforeSubmit: function(arr, $form, options) {
if ( !$form.valid() ) {
return false;
}
},
...
}
如果您坚持进行服务器端验证,请在回调中添加AJAX方法。
var options = {
beforeSubmit: function(arr, $form, options) {
var valid = false;
$.ajax({
type : 'POST',
url : 'validation.php',
async: false,
data : $form.serialize(),
success : function(isValid) {
if ( isValid) {
valid = true
}
}
}).then(function(){
if ( !valid ) {
return false;
}
});
},
...
}