2014-01-23 114 views
-1

我正在開發一個PHP網站,我需要jQuery驗證。我正在使用驗證器。我已經加載了jquery文件和validate.js文件,並將其放在我的本地文件夾中,但我無法執行驗證。無法執行jQuery驗證

錯誤消息是"Uncaught TypeError: Cannot call method 'setDefaults' of undefined "

我被困在這一步。請幫幫我。

Jquery code。

<script type="text/javascript" src="js/jquery.validate.js"></script> 
<script type="text/javascript" src="js/jquery.validate.min.js"></script> 
<script type="text/javascript" src="js/jquery-1.7.2.min.js"></script> 
<script type="text/javascript" src="js/bootstrap.min.js"></script> 
<script> 
    $(function() { 


     jQuery.validator.setDefaults({ 
      debug: true, 
      success: "valid" 
     }); 
     $("#Myform").validate({ 
      rules: { 
       inputEmail: { 
        required: true, 
        minlength: 2 

       } 

      } 

     }); 
    }); 
</script> 

HTML代碼:

<form id="Myform" method="get" action=""> 
<div class="content"> 
     <form class="form-horizontal"> 
    <div class="control-group"> 
    <label class="control-label" for="inputEmail">Username</label> 
    <div class="controls"> 
     <input type="text" id="inputEmail" name="inputEmail" placeholder="username"> 
    </div> 
    </div> 
+2

你將不得不張貼這是引發此錯誤的代碼。也是向產生這個錯誤的代碼提供數據的代碼。 – csmckelvey

+1

請發佈您的代碼導致錯誤。 – next2u

+0

顯示代碼@Ishwarya –

回答

0

jQuery的應包括jQuery驗證插件

<script type="text/javascript" src="js/jquery-1.7.2.min.js"></script> 
<script type="text/javascript" src="js/jquery.validate.js"></script> 
<script type="text/javascript" src="js/jquery.validate.min.js"></script> 
<script type="text/javascript" src="js/bootstrap.min.js"></script> 
+0

我是這麼做的。但仍然存在同樣的錯誤。 –

+0

http://jsfiddle.net/NzZA5/正常工作 –

+0

是的,它在小提琴中工作。但在我的項目中,我無法做到。我的錯誤總是說「不能調用未定義的setdefaults」。我嘗試從本地和從web加載我的jquery文件。它仍然失敗。 –

0

1)之前只使用一個jquery.validate.js
2)jquery.validate。 min.js只是jquery.validate.js的縮小版本

Co德:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"> 
     </script> 
    <script type="text/javascript" src="jquery.validate.js"> 
    </script> 
     <script> 
    $(function() {$("#submit").click(function() //input button click 
     { 
      $.validator.setDefaults({ 
        debug: true, 
        success: "valid" 
       }); 
       $("#Myform").validate({ 
        rules: { 
         inputEmail: { 
          required: true, 
          minlength: 2 

         } 

        } 

       }); 
      }); 
      }); 
     </script> 

    <form id="Myform" method="POST" action=""> 
    <div class="content"> 

     <div class="control-group"> 
     <label class="control-label" for="inputEmail">Username</label> 
     <div class="controls"> 
      <input type="text" id="inputEmail" name="inputEmail" placeholder="username"> 
      <input type="submit" id="submit" name="submit" placeholder="submit"> 
     </div> 
     </div> 
     </div> 
     </form> 
0
<html> 
    <body> 
    <form id="Myform" method="get" action=""> 
     <div class="content"> 
      <form class="form-horizontal"> 
       <div class="control-group"> 
        <label class="control-label" for="inputEmail">Username</label> 
        <div class="controls"> 
        <input type="text" id="inputEmail" name="inputEmail" placeholder="username"> 
        </div> 
       </div> 
      </form> 
      <input type="submit" value="Submit"> 
     </div> 
    </form> 
    <script src="https://code.jquery.com/jquery-3.1.1.min.js"></script> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.15.1/jquery.validate.min.js"></script> 
    <script> 
     $(function() { 


      jQuery.validator.setDefaults({ 
       debug: true, 
       success: "valid" 
      }); 
      $("#Myform").validate({ 
       rules: { 
        inputEmail: { 
         required: true, 
         minlength: 2 

        } 

       } 

      }); 
     }); 
    </script> 
</body> 

+0

而不是僅僅發佈代碼轉儲,你能否簡單地解釋一下你在代碼中改變了什麼,以及爲什麼它解決了這個問題? – JJJ

+0

是的,您需要先調用Jquery.js,然後再調用其他jquery文件。所以validate.js應該在jquery,js之後調用 –