jQuery 表单验证不起作用

标签 jquery validation forms

我在这里为表单验证而苦苦挣扎:

// JavaScript Document
$(document).ready( function() {

 $("#submit").click(function(){               

  // set initial error value to false
  var hasError = false;

  // set var for each form field
  var order_ref = $("#order_ref").val();
  var order_name = $("#order_name").val();
  var order_telephone = $("#order_telephone").val();
  var order_email = $("#order_email").val();
  var order_message = $("#order_message").val();
  var order_size = $("#sendEmail input.radio:checked").val();

  // validate each of them
  if(order_ref == '') { $("#order_ref").addClass('haserror'); hasError = true; } 
  if(order_name == '') { $("#order_name").addClass('haserror'); hasError = true; } 
  if(order_telephone == '') {  $("#order_telephone").addClass('haserror'); hasError = true; } 
  if(order_email == '') { $("#order_email").val().addClass('haserror'); hasError = true; } 
  //if(order_message == '') { $("#order_message").val().addClass('haserror'); hasError = true; } 
  if(order_size == '') { $("#order_size").val().addClass('haserror'); hasError = true; } 

  // if there are errors
  if(hasError == true) {
   alert('whoa!');
   return false;
  };

  // if there's no errors, proceed   
  if(hasError == false) {
   $.post("/photo/theme/foodphoto/includes/mail_send.php",
       { 
     // pass each of the form values to the PHP file for processing
     order_ref: order_ref, 
     order_name: order_name, 
     order_telephone: order_telephone, 
     order_email: order_email, 
     order_message: order_message,
     order_size: order_size
    },
        function(data){
      // no errors? great now do what you want to show the user his message is sent
      $('#sendEmail, .faded').slideUp(500);
      $('.thanks').delay(500).fadeIn(500);
        }
     );
  }; 

  return false;
 }); 

});

你能发现我做错了什么吗?

谢谢! :)

最佳答案

这些行是错误的:

if(order_email == '') { $("#order_email").val().addClass('haserror'); hasError = true; } 
if(order_size == '') { $("#order_size").val().addClass('haserror'); hasError = true; } 

删除 val()

复制/粘贴错误,看起来像:)

关于jQuery 表单验证不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4212937/

相关文章:

jquery - 在 touchmove 上禁用 jquery-chosen 以启用页面滚动

javascript - 文件上传并显示在 div 多个

database - 具有软删除模型和唯一数据库字段的 Laravel 验证

jQuery 验证插件 : Value in multiple ranges

错误处理后 while 循环中的 Python 回溯错误

C# 从另一个窗体访问一个窗体的组合框项

javascript - 填充表单

javascript - 尝试将类添加到动态选择器

jquery - 如何集成visual composer自定义wordpress主题

forms - 使用 form_errors(form) plus 显示 symfony2 中每个字段的所有错误