Javascript 如何使用jQuery验证表单,防止表单提交,并在指定的div中显示正确的错误消息?

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

我正在项目中使用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" 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