Javascript 如何使用jQuery验证表单,防止表单提交,并在指定的div中显示正确的错误消息?
我正在项目中使用jqueryv1.7.1 我有以下HTML表单:Javascript 如何使用jQuery验证表单,防止表单提交,并在指定的div中显示正确的错误消息?,javascript,jquery,forms,validation,jquery-1.7,Javascript,Jquery,Forms,Validation,Jquery 1.7,我正在项目中使用jqueryv1.7.1 我有以下HTML表单: <div class="alert-danger"> </div> <form action="index.php" class="navbar-form pull-right" id="formzip" method="post"> <input type="hidden" class="form-control" name="op" id="op
<div class="alert-danger">
</div>
<form action="index.php" class="navbar-form pull-right" id="formzip" method="post">
<input type="hidden" class="form-control" name="op" id="op" value="zip_code">
<input type="hidden" class="form-control" name="form_submitted" id="form_submitted" value="yes">
<input style="width: 115px;" type="text" placeholder="Enter the zip code" name="zip" id="zip" value=""> <i class="icon-zip" style="margin-top:3px;" onclick='$("#formzip").submit();'></i>
</form>
有人能帮我实现这个功能吗
如果有人能帮助我,那将对我大有帮助
谢谢你花了一些宝贵的时间来理解我的问题。如果您想了解有关我的问题的更多信息,请随时询问我
等待你宝贵的答复
提前谢谢 我希望下面的内容和参考能对您有所帮助 并从中查看演示
我希望下面的内容和参考能对您有所帮助 并从中查看演示
我希望下面的内容和参考能对您有所帮助 并从中查看演示
我希望下面的内容和参考能对您有所帮助 并从中查看演示
您不需要为此使用任何自定义验证库。 首先停止提交事件并运行验证规则。 删除i元素的onClick事件 只是一些想法。另一个人可能有不同的方法
$(document).ready(function(){
$(".icon-zip").click(function(){
$(".alert-danger").html("");
var zip = $("#zip").val();
//run validations
var regex = /^([0-9]{5})(-[0-9]{4})?$/i;
if(!regex.test(zip)){
$(".alert-danger").html("Invalid zip");
return;
}
//if all ok
//do ajax request to server with your data
//Handle server response in ajax callback functios
$.ajax(function(){
url:"index.php",
type:"post",
dataType: 'json',
data: $("formzip").serialize(),
success:function(data){
if(data.status == "ok"){
// show success msg
}
},
error:function(data){
// show error msg
}
});
});
});
您不需要为此使用任何自定义验证库。 首先停止提交事件并运行验证规则。 删除i元素的onClick事件 只是一些想法。另一个人可能有不同的方法
$(document).ready(function(){
$(".icon-zip").click(function(){
$(".alert-danger").html("");
var zip = $("#zip").val();
//run validations
var regex = /^([0-9]{5})(-[0-9]{4})?$/i;
if(!regex.test(zip)){
$(".alert-danger").html("Invalid zip");
return;
}
//if all ok
//do ajax request to server with your data
//Handle server response in ajax callback functios
$.ajax(function(){
url:"index.php",
type:"post",
dataType: 'json',
data: $("formzip").serialize(),
success:function(data){
if(data.status == "ok"){
// show success msg
}
},
error:function(data){
// show error msg
}
});
});
});
您不需要为此使用任何自定义验证库。 首先停止提交事件并运行验证规则。 删除i元素的onClick事件 只是一些想法。另一个人可能有不同的方法
$(document).ready(function(){
$(".icon-zip").click(function(){
$(".alert-danger").html("");
var zip = $("#zip").val();
//run validations
var regex = /^([0-9]{5})(-[0-9]{4})?$/i;
if(!regex.test(zip)){
$(".alert-danger").html("Invalid zip");
return;
}
//if all ok
//do ajax request to server with your data
//Handle server response in ajax callback functios
$.ajax(function(){
url:"index.php",
type:"post",
dataType: 'json',
data: $("formzip").serialize(),
success:function(data){
if(data.status == "ok"){
// show success msg
}
},
error:function(data){
// show error msg
}
});
});
});
您不需要为此使用任何自定义验证库。 首先停止提交事件并运行验证规则。 删除i元素的onClick事件 只是一些想法。另一个人可能有不同的方法
$(document).ready(function(){
$(".icon-zip").click(function(){
$(".alert-danger").html("");
var zip = $("#zip").val();
//run validations
var regex = /^([0-9]{5})(-[0-9]{4})?$/i;
if(!regex.test(zip)){
$(".alert-danger").html("Invalid zip");
return;
}
//if all ok
//do ajax request to server with your data
//Handle server response in ajax callback functios
$.ajax(function(){
url:"index.php",
type:"post",
dataType: 'json',
data: $("formzip").serialize(),
success:function(data){
if(data.status == "ok"){
// show success msg
}
},
error:function(data){
// show error msg
}
});
});
});
您可以这样做:-
$(function(){
$('#formzip').on('submit',function(){
if($('#zip').val()=='')
{
$('.alert-danger').html('zipcode is empty');
return false;
}else if(!isValidZip($('#zip').val()))
{
$('.alert-danger').html('zipcode is invalid');
return false;
}
});
});
function isValidZip(zip) {
var pattern = new RegExp(/^([0-9]{5})(-[0-9]{4})?$/i);
return pattern.test(zip);
};
或者,如果要显示相同的消息,可以执行以下操作:-
$('#formzip').on('submit',function(){
if(!isValidZip($('#zip').val()))
{
$('.alert-danger').html('zipcode is invalid');
return false;
}
});
您可以这样做:-
$(function(){
$('#formzip').on('submit',function(){
if($('#zip').val()=='')
{
$('.alert-danger').html('zipcode is empty');
return false;
}else if(!isValidZip($('#zip').val()))
{
$('.alert-danger').html('zipcode is invalid');
return false;
}
});
});
function isValidZip(zip) {
var pattern = new RegExp(/^([0-9]{5})(-[0-9]{4})?$/i);
return pattern.test(zip);
};
或者,如果要显示相同的消息,可以执行以下操作:-
$('#formzip').on('submit',function(){
if(!isValidZip($('#zip').val()))
{
$('.alert-danger').html('zipcode is invalid');
return false;
}
});
您可以这样做:-
$(function(){
$('#formzip').on('submit',function(){
if($('#zip').val()=='')
{
$('.alert-danger').html('zipcode is empty');
return false;
}else if(!isValidZip($('#zip').val()))
{
$('.alert-danger').html('zipcode is invalid');
return false;
}
});
});
function isValidZip(zip) {
var pattern = new RegExp(/^([0-9]{5})(-[0-9]{4})?$/i);
return pattern.test(zip);
};
或者,如果要显示相同的消息,可以执行以下操作:-
$('#formzip').on('submit',function(){
if(!isValidZip($('#zip').val()))
{
$('.alert-danger').html('zipcode is invalid');
return false;
}
});
您可以这样做:-
$(function(){
$('#formzip').on('submit',function(){
if($('#zip').val()=='')
{
$('.alert-danger').html('zipcode is empty');
return false;
}else if(!isValidZip($('#zip').val()))
{
$('.alert-danger').html('zipcode is invalid');
return false;
}
});
});
function isValidZip(zip) {
var pattern = new RegExp(/^([0-9]{5})(-[0-9]{4})?$/i);
return pattern.test(zip);
};
或者,如果要显示相同的消息,可以执行以下操作:-
$('#formzip').on('submit',function(){
if(!isValidZip($('#zip').val()))
{
$('.alert-danger').html('zipcode is invalid');
return false;
}
});
你自己也尝试过解决这个问题吗?@Derija93:事实上,我已经在服务器端使用PHP进行了验证,但现在我必须在客户端使用jQuery进行验证,这就是为什么我要寻求帮助。嗯,这是一个开始。你熟悉jQuery吗?一个建议是简单地处理表单提交事件,并在必要时通过执行('submit',function(jqEvt){jqEvt.preventDefault();})来取消它代码>。这将阻止表单提交,根据您的需要调整表单应该相当容易。@Derija93:谢谢您的评论。但是,如果你能发布你的可行代码作为答案,这对我和其他面临此类问题的人来说将是非常好的。你能把你的完整代码作为答案吗?我没有必要重新发明轮子。正如其他两个答案所显示的,已经有很多插件在那里进行验证。如果你对这些插件的工作原理感兴趣,你也可以看看它们的源代码。。。或者在。你甚至试图自己解决这个问题吗?@Derija93:事实上,我已经在服务器端使用PHP进行了验证,但现在我必须在客户端使用jQuery进行验证,这就是为什么我请求帮助。好吧,这是一个开始。你熟悉jQuery吗?一个建议是简单地处理表单提交事件,并在必要时通过执行('submit',function(jqEvt){jqEvt.preventDefault();})来取消它代码>。这将阻止表单提交,根据您的需要调整表单应该相当容易。@Derija93:谢谢您的评论。但是,如果你能发布你的可行代码作为答案,这对我和其他面临此类问题的人来说将是非常好的。你能把你的完整代码作为答案吗?我没有必要重新发明轮子。正如其他两个答案所显示的,已经有很多插件在那里进行验证。如果你对这些插件的工作原理感兴趣,你也可以看看它们的源代码。。。或者在。你甚至试图自己解决这个问题吗?@Derija93:事实上,我已经在服务器端使用PHP进行了验证,但现在我必须在客户端使用jQuery进行验证,这就是为什么我请求帮助。好吧,这是一个开始。你熟悉jQuery吗?一个建议是简单地处理表单提交事件,并在必要时通过执行('submit',function(jqEvt){jqEvt.preventDefault();})来取消它代码>。这将阻止表单提交,根据您的需要调整表单应该相当容易。@Derija93:谢谢您的评论。但是,如果你能发布你的可行代码作为答案,这对我和其他面临此类问题的人来说将是非常好的。你能把你的完整代码作为答案吗?我没有必要重新发明轮子。正如其他两个答案所显示的,已经有很多插件在那里进行验证。如果你对这些插件的工作原理感兴趣,你也可以看看它们的源代码。。。或者在。你甚至试图自己解决这个问题吗?@Derija93:事实上,我已经在服务器端使用PHP进行了验证,但现在我必须在客户端使用jQuery进行验证,这就是为什么我请求帮助。好吧,这是一个开始。你熟悉jQuery吗?一个建议是简单地处理表单提交事件,并在必要时通过执行('submit',function(jqEvt){jqEvt.preventDefault();})来取消它代码>。这将完全阻止表单提交,根据您的需要调整表单应该相当容易。@De