国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

jquery.validate使用時遇到的問題

2019-11-20 12:25:30
字體:
來源:轉載
供稿:網友

問題一:

<script src="../js/jquery.js"></script><script src="../js/jquery.validate.js"></script><script> $().ready(function() {  $("#registerForm").validate(); });</script> <form id="registerForm" method="get" action=""> <fieldset>  <p>   <label for="cusername">用戶名</label>   <input id="cusername" name="username" type="text" data-rule-required="true" data-rule-rangelength="[2,10]" data-msg-required="用戶名不能為空" data-msg-rangelength="用戶名長度必須是2到10個字符">  </p>  <p>   <label for="cpassword">密碼</label>   <input id="cpassword" name="password" type="password" data-rule-required="true" data-rule-minlength="6" data-msg-required="密碼不能為空" data-msg-minlength="至少設置6位密碼">  </p>  <p>   <label for="cconfirmpassword">確認密碼</label>   <input id="cconfirmpassword" name="confirmpassword" type="password" data-rule-equalTo="#cpassword" data-msg-equalTo="兩次密碼不一致">  </p>  <p>   <label for="cemail">郵箱</label>   <input id="cemail" name="email" data-rule-required="true" data-rule-email="true" data-msg-required="郵箱不能為空" data-msg-email="郵箱的格式不正確">   </input>  </p>  <p>   <label for="chasreferee">有推薦人請勾選</label>   <input type="checkbox" id="chasreferee" name="hasreferee">  </p>  <p>   <label for="creferee">推薦人</label>   <input id="creferee" name="referee" data-rule-required="#chasreferee:checked" data-msg-required="推薦人不能為空">   </input>  </p>  <p>   <input type="submit" value="提交">  </p> </fieldset></form>

看了之前的別人寫的文章,貌似是依賴jquery.metadata.js這個庫,然后寫的時候以 class=”required email” 這樣的形式來寫,這樣寫起來好像有些亂,class本身是呈現樣式的,現在被附上各種校驗的規則,看上去似乎有些亂,不過好在新版本中,又有了新的寫法,不依賴上面的js庫,以 data-rule-驗證規則、data-msg-提示信息 這樣的格式來重新定義,更簡單,更直觀,更強大了。上面的測試通過

我的版本的jquery.validate1.13.js

然后這樣的寫法,控件中的messages不會生效,還會報錯:Cannot read property 'call' of undefined 園子里面很多jquery.validate文章提到可以使用,我看是版本過時了,反正我沒有試驗出來。還有就是將驗證卸載class里面我也是醉了。下面的測試錯誤!

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>無標題文檔</title><script type="text/javascript" src="jquery.min.js"></script> <!--<script type="text/javascript" src="jquery.validate.js"></script>--><script type="text/javascript" src="jquery.validate1.13.js"></script><script type="text/javascript" src="jquery.validate.message_cn.js"></script><script type="text/javascript" src="jquery.metadata.js"></script><script type="text/javascript">$(function(){  $.metadata.setType("attr", "validate");  $("#signupForm").validate();  //$("#signupForm").validate({ meta: "validate" });  //$("#commentForm").validate();}) </script></head> <body><form id="signupForm" method="get" action="">  <p>  <input id="email" name="email" validate="{required:true, email:true, messages:{required:'輸入email地址', email:'你輸入的不是有效的郵件地址'}}" />  </p>   <p>    <input class="submit" type="submit" value="Submit"/>  </p></form> </body></html>

問題二:jQuery_validate配置后無論怎樣都看不到提示信息。

原因:submit()了二次。

例子:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags" %> <html> <head> <title>jquery test</title> <script src="js/jquery.js"></script> <script src="js/jquery.validate.js"></script> <script src="js/jquery.metadata.js"></script> <script src="js/messages_zh.js"></script>  <script> $(document).ready(function() {      $("#commentForm").validate({              //debug:true              }); }); </script> <script type="text/javascript">   function register(){     document.forms[0].action = 'register/addUser.action';     //document.forms[0].submit();   } </script> </head> <body >   <form id="commentForm" method="post">     <table style ="width:100%">       <tr>         <td>user name:</td>         <td><input type="text" name="username" id="username" maxlength="10"           class="{required:true,minlength:6,maxlength:12}" /></td>       </tr>       <tr>         <td>password:</td>         <td><input type="password" name="password" id="password" maxlength="15"           class="required"/></td>       </tr>       <tr>         <td></td>         <td><input type="submit" value="Register" onclick="register();"></td>       </tr>     </table>   </form> </body> </html> 

jQuery驗證后有個提交,自己在register()中又提交了一次,將【document.forms[0].submit();】注釋掉后問題解決。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 关岭| 会宁县| 东阳市| 江西省| 汝城县| 娱乐| 炉霍县| 来安县| 搜索| 滦南县| 青冈县| 新沂市| 和顺县| 綦江县| 泸溪县| 台州市| 尼勒克县| 汨罗市| 建德市| 剑川县| 华安县| 屯门区| 德清县| 镇安县| 云和县| 南陵县| 密山市| 民权县| 綦江县| 梧州市| 南充市| 永德县| 会东县| 成都市| 华坪县| 宁蒗| 灵台县| 扎赉特旗| 沙河市| 克什克腾旗| 繁昌县|