我正在使用RSV驗證程序檢查我的表單。想要得到以下工作:假設用戶第一次打開頁面。填充所有文本輸入框後,當用戶第一次點擊#submit_btn
時,表單提交功能觸發RSV(驗證器),驗證器檢查是否有任何錯誤。如果沒事,通過ajax發佈數據,否則RSV在alert()
的幫助下顯示錯誤消息數組。此程序僅適用於第一次僅當驗證檢查返回true時才通過ajax發佈
BTW:RSV - 驗證程序。如果在驗證過程中沒有發生錯誤,myoncomplete()
函數會返回1 ..如果出現錯誤,它會發出警報。得到從here
我不能得到它的工作。請幫我解決邏輯/代碼錯誤。 THX提前
我的JS
var int=null;
var counter=0;
function myOnComplete() {
return 1;
}
$(document).ready(function() {
$("#add_form").RSV({
onCompleteHandler: myOnComplete,
rules: [
"required,name,Page name required",
"required,title,Page title required.",
]
});
$("#add_form").submit(function (e) {
e.preventDefault();
dataString = $("#add_form").serialize();
$.ajax({
type: "POST",
url: "processor/dbadd.php",
data: dataString,
dataType: "json",
success: function (result, status, xResponse) {
//do something if ajax call is success
int = setInterval(call, 3000);
var message = result.msg;
var err = result.err;
if (message != null) {
$.notifyBar({
cls: "success",
html: message
});
}
if (err != null) {
$.notifyBar({
cls: "error",
html: err
});
}
},
error: function (e) {
//ajax call failed
alert(e);
}
});
});
$("#submit_btn").click(function() {
if(counter===0){
if(myOnComplete()===1) $('#add_form').submit();
else return false;
}
else $('#add_form').submit();
counter++;
});
$('#autosave').click(function(){
if($(this).is(':checked')){
int = setInterval(call, 3000);
$('#submit_btn').attr({'value':'Save&Exit'});
}
else{
$('#submit_btn').attr({'value':'Save'});
clearInterval(int);
}
});
});
function call() {
$('#add_form').submit();
}
澄清我對你的問題的理解。基本上你不希望用戶使用相同的數據通過Ajax兩次提交數據? – Sam
不,我想第一次驗證,如果所有的東西都是通過ajax發佈的,第二次,...只是發佈。所以驗證只是第一次 – heron