javascript - 验证失败后表单仍然提交 JS

标签 javascript jquery html

我有一个表单,我试图验证具有相同类的字段。需要

<form id="HotelBooking" method="post" action="#">
<input type="text" class="required"  name="vardas" />
<input type="text" class="required"  name="pav" />
<input type="text" class="required"  name="tel" />
<input type="submit"  name="sb"  value="Tvirtinti" onclick="tikrinti();"/>
</form>

JS 代码适用于第一个字段,它显示错误,但表单仍然提交并重置字段。

$(document).ready(function() { 
  $('#HotelBooking').submit(function () {
  $(".required").each(function(){
            if($(this).val().length == 0)
            {
               alert('Please Enter your value');
               $(this).focus(); 
               return false;
            }
        });
 });   
});

我做错了什么?

最佳答案

你应该把 return false 放在 each() 之外:

$('#HotelBooking').submit(function () {
    var errors = 0
    $(".required").each(function(){
        if( $.trim($(this).val()).length == 0) { // make sure that there is no extra whitespace
           errors++ 
        }
    });
    if (errors > 0) {
       alert('please Enter your value for ' +errors+ 'remaining fields')
       return false;
    } 
}); 

关于javascript - 验证失败后表单仍然提交 JS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11530511/

相关文章:

jquery - 使用 jquery 淡入淡出

javascript - 创建自定义下拉菜单

JavaScript 未捕获类型错误 : Cannot set property 'value' of null

javascript - 交换同一位置的单独 div 中的可拖动项目

jquery - 如何使用 jquery 取消选择列表框中的所有项目

javascript - 如何使用CSS将数字格式化为逗号分隔

javascript - $parent.$index 始终返回 0

javascript - Jquery - 如何在可以拖动和删除的图像上绘制线框(对象)?

javascript - 单选按钮-基于值的选择

html - CSS - 帮助我在不使用边距的情况下设置此菜单的样式?