所以我需要先检查所有字段:
<script type="text/javascript">
<!--
$(document).ready(function(){
$("#loginform").submit(function(){
LIKE:
//CHECK INPUT
$('#loginform :input:not(:button)').each(function(n,element){
if ($(element).val()=='') {
$(".message").css('margin-top', '13px').html('<p>O campo '+element.id+' tem de ter um valor!</p>').fadeIn("slow").delay(2000).fadeOut(1000);
return false;
}
});
在所有字段填满后进行AJAX调用:
//AJAX CALL
$.post(...
BLÁ BLÁ
return false;
检查所有字段后如何提交值? 一如既往地感谢你。
更新:
解决方案“我找到了”。
首先在客户端验证。 第二次验证服务器端。
在第一项措施中,在所有字段都正常之前,会阻止几个ajax调用! 通过第二次“移动”,我们可以防止恶意。
非常感谢你。 我一直在和你学习:)
答案 0 :(得分:1)
这是你想要的吗?
var callAjax = true;
//CHECK INPUT
$('#loginform :input:not(:button)').each(function(n,element){
if ($(element).val()=='') {
//Code then set bool
callAjax = false;
}
});
if(callAjax){
$.ajax( {
url: "form action",
type: "POST",
data: $("#loginForm").serialize(),
....
}
答案 1 :(得分:0)
如果你的意思是什么,最简单的方法是将表格数据输入你的ajax请求? 在表单上使用.serialize()方法,如:
$.ajax( {
url: "form action",
type: "POST",
data: $("#loginForm").serialize(),
....
答案 2 :(得分:0)
// Add these to your onReady code
function checkFields() {
var filledIn = true;
$('#loginform :input:not(:button)').each(function(n,element){
if ($(element).val()=='') {
filledIn = false;
return false; // stop loop execution
}
});
return filledIn;
}
$('#loginform :input:not(:button)').change(function() {
if (checkFields()) {
$.ajax( {
url: "form action",
type: "POST",
data: $("#loginForm").serialize(),
....
});
}
})