Tom*_*Tom 41 validation ajax jquery jquery-validate
JavaScript位:
$(document).ready(function()
{
$('#form').submit(function(e)
{
e.preventDefault();
var $form = $(this);
// check if the input is valid
if(! $form.valid()) return false;
$.ajax(
{
type:'POST',
url:'add.php',
data:$('#form').serialize(),
success:function(response)
{
$("#answers").html(response);
}
});
})
});
Run Code Online (Sandbox Code Playgroud)
HTML位:
<input type="text" name="answer[1]" class="required" />
<input type="text" name="answer[2]" class="required" />
Run Code Online (Sandbox Code Playgroud)
所以这是我试图使用的代码.我的想法是在我用Ajax发送表单之前验证我的所有输入.我现在已经尝试了很多版本,但每次我最终都提交,即使表格没有完全填写.我的所有输入都是"必需"类.谁能看到我做错了什么?
此外,我依赖基于类的要求,因为我的输入名称是用PHP生成的,所以我永远无法确定我得到的名称[id]或输入类型.
当我在"页面"中浏览时,我会显示/隐藏问题.
<input type="button" id="next" onClick="toggleVisibility('form3')" class="next-btn"/>
Run Code Online (Sandbox Code Playgroud)
JS:
function toggleVisibility(newSection)
{
$(".section").not("#" + newSection).hide();
$("#" + newSection).show();
}
Run Code Online (Sandbox Code Playgroud)
Dar*_*rov 93
你可以使用这个submitHandler
选项.基本上将$.ajax
调用放在此处理程序中,即使用验证设置逻辑将其反转.
$('#form').validate({
... your validation rules come here,
submitHandler: function(form) {
$.ajax({
url: form.action,
type: form.method,
data: $(form).serialize(),
success: function(response) {
$('#answers').html(response);
}
});
}
});
Run Code Online (Sandbox Code Playgroud)
jQuery.validate
如果验证已通过,插件将调用提交处理程序.
amd*_*amd 13
首先,您不需要classRules
显式添加,因为required
jquery.validate插件会自动检测到.所以你可以使用这段代码:
否则,如果有效则发送ajax请求.
$('#form').submit( function(e){
e.preventDefault();
var $form = $(this);
// check if the input is valid
if(! $form.valid()) return false;
$.ajax({
type: 'POST',
url: 'add.php',
data: $('#form').serialize(),
success: function(response) {
$("#answers").html(response);
}
});
});
Run Code Online (Sandbox Code Playgroud)小智 7
> Required JS for jquery form validation
> ## jquery-1.7.1.min.js ##
> ## jquery.validate.min.js ##
> ## jquery.form.js ##
$("form#data").validate({
rules: {
first: {
required: true,
},
middle: {
required: true,
},
image: {
required: true,
},
},
messages: {
first: {
required: "Please enter first",
},
middle: {
required: "Please enter middle",
},
image: {
required: "Please Select logo",
},
},
submitHandler: function(form) {
var formData = new FormData($("#image")[0]);
$(form).ajaxSubmit({
url:"action.php",
type:"post",
success: function(data,status){
alert(data);
}
});
}
});
Run Code Online (Sandbox Code Playgroud)
你可以试试:
if($("#form").validate()) {
return true;
} else {
return false;
}
Run Code Online (Sandbox Code Playgroud)
这个具体的例子只是检查输入,但是你可以调整它,然后在你的.ajax函数中添加这样的东西:
beforeSend: function() {
$empty = $('form#yourForm').find("input").filter(function() {
return this.value === "";
});
if($empty.length) {
alert('You must fill out all fields in order to submit a change');
return false;
}else{
return true;
};
},
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
213637 次 |
最近记录: |