2016-04-28 62 views
-2
<div class="login-form-1"> 
     <form action="" method="post" id="register-form" novalidate="novalidate" class="text-left"> 
      <div class="login-form-main-message"></div> 
      <div class="main-login-form"> 
       <div class="login-group"> 
        <div class="form-group"> 
         <label for="reg_username" class="sr-only">Username</label> 
         <input type="text" class="form-control" id="reg_username" name="reg_username" placeholder="username"> 
        </div> 
        <div class="form-group"> 
         <label for="reg_password" class="sr-only">Password</label> 
         <input type="password" class="form-control" id="reg_password" name="reg_password" placeholder="password"> 
        </div> 
        <div class="form-group"> 
         <label for="reg_password_confirm" class="sr-only">Password Confirm</label> 
         <input type="password" class="form-control" id="reg_password_confirm" name="reg_password_confirm" placeholder="confirm password"> 
        </div> 

        <div class="form-group"> 
         <label for="reg_email" class="sr-only">Email</label> 
         <input type="text" class="form-control" id="reg_email" name="reg_email" placeholder="email"> 
        </div> 


        <div class="form-group login-group-checkbox"> 
         <input type="radio" class="" name="reg_gender" value="male" > 
         <label for="male">male</label> 

         <input type="radio" class="" name="reg_gender" value="female" > 
         <label for="female">female</label> 
        </div> 


        <div class="form-group"> 
        <select class="form-control" name = "reg_security" id="select"> 
          <option class="others">What is the name of your favorite cartoon character?</option> 
          <option class="others">What was the name of your primary school?</option> 
          <option class="others">What is the name of your best friend?</option> 
          <option class="others">What was the name of your first cell phone?</option> 
        </select> 
        </div> 

        <div class="form-group"> 
        <input class="form-control" id="focusedInput" type="text" value="Your answer..."> 
        </div> 

       </div> 

       <button type="submit" class="login-button"><i class="fa fa-chevron-right"></i></button> 

/*这个被命名为相关的js文件action.js */试图验证使用jQuery形式,但它不是工作

(function($) { 
    "use strict"; 

    // Options for Message 
    //---------------------------------------------- 
    var options = { 
     'btn-loading': '<i class="fa fa-spinner fa-pulse"></i>', 
     'btn-success': '<i class="fa fa-check"></i>', 
     'btn-error': '<i class="fa fa-remove"></i>', 
     'msg-success': 'All Good! Redirecting...', 
     'msg-error': 'Wrong login credentials!', 
     'useAJAX': true, 
    }; 


    // Register Form 
    //---------------------------------------------- 
    // Validation 
    $("#register-form").validate({ 
    rules: { 
     reg_username: "required", 
     reg_password: { 
      required: true, 
      minlength: 5 
     }, 
     reg_password_confirm: { 
      required: true, 
      minlength: 5, 
      equalTo: "#register-form [name=reg_password]" 
     }, 
     reg_email: { 
     required: true, 
      email: true 
     }, 
     reg_agree: "required", 
    }, 
     errorClass: "form-invalid", 
     errorPlacement: function(label, element) { 
     if(element.attr("type") === "checkbox" || element.attr("type") === "radio") { 
      element.parent().append(label); // this would append the label after all your checkboxes/labels (so the error-label will be the last element in <div class="controls">) 
     } 
      else { 
     label.insertAfter(element); // standard behaviour 
     } 
    } 
    }); 

    // Form Submission 
    $("#register-form").submit(function() { 
    remove_loading($(this)); 

     if(options['useAJAX'] == true) 
     { 
      // Dummy AJAX request (Replace this with your AJAX code) 
      // If you don't want to use AJAX, remove this 
     dummy_submit_form($(this)); 

      // Cancel the normal submission. 
      // If you don't want to use AJAX, remove this 
     return false; 
     } 
    }); 



    // Loading 
    //---------------------------------------------- 

}); 

同样有一个CSS文件也为造型。 问题是验证函数不适用于窗体。 我做错了什么? 我曾尝试将html &中的脚本放在单独的文件中。 但它不起作用。

+0

检查您是否正确导入了jquery.validate.js,它应该在jquery.js文件后 – progrAmmar

+1

控制台中的任何错误?你加载jQuery吗? – mplungjan

+0

似乎你正在执行的是IIFE,但最后的(jQuery)在哪里? 尝试改变'(函数($){'''(函数(){' – mplungjan

回答

0

删除整个定制.submit()处理程序,因为它是通过阻断submit事件插件的正常运行的干扰......

$("#register-form").submit(function() { .... 

那么任何ajax会去里面只有the plugin's submitHandler function ...

$("#register-form").validate({ 
    submitHandler: function(form) { 
     // ajax here! 
     return false; 
    }, 
    rules: { 
     reg_username: "required", 
     .... 

取代默认提交。 合适的地方在经过验证后通过Ajax提交表单。