Sealyu

          --- 博客已遷移至: http://www.sealyu.com/blog

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            618 隨筆 :: 87 文章 :: 225 評論 :: 0 Trackbacks

          問題背景: 想用 jQuery 做 AJAX 處理, 用基于 Prototype 的 EasyValidation 做表單驗證, 但是二者不能共存, 因為都用了同一個方法名: $().

          解決:

          jquery和prototype沖突解決, 網上流傳的一篇文章,我這里測試結果是錯誤的! http://ajaxbbs.net/blog/post/71/

          另一種方式是:
          <script type=”text/javascript”>
                jQuery.noConflict();
          </script>

          參考: http://www.d5s.cn/archives/6, 但我這里測試也有問題!

          本人測試通過的方式:

          1、將jquery.js放到prototype.js前面(這個是必須的!)。
          2、在jquery.js后面將$變量重命名。
          方法如下:

          <script type="text/javascript"  src="jquery.js"></script>
          <script type="text/javascript">
          var jQuery=$;
          </script>

          <script type="text/javascript" type="text/javascript" src="window.js"></script>
          <!--上面這個window.js調用了jquery框架的方法-->
          <script type="text/javascript" type="text/javascript" src="prototype.js"></script>

          3、將原來使用的$方法名一律替換為jQuery名,如$("obj")替換為jQuery("obj")。

          例如下面的一段代碼, 混合了 jQuery和基于Prototype的 EasyValidation:

          <!--  jquery, 注意加載順序 -->
          <script src="js/jquery-1.2.6.pack.js"></script>
          <script type=”text/javascript”>
                var jQuery=$;
          </script>

          <!-- 表單驗證 -->
          <script src="easy_validation/lib/prototype.js" type="text/javascript"></script>
          <script src="easy_validation/lib/effects.js" type="text/javascript"></script>
          <script src="easy_validation/src/validation_cn.js" type="text/javascript"></script>
          <link rel="stylesheet" type="text/css" href="easy_validation/styles/style_min.css" />

              <div id="contents"></div>
            <script>
            jQuery(document).ready(function(){
              //jQuery("#contents").load("test.jsp");
              jQuery("#contents").load("test.jsp?username=BeanSoft")
            });
            </script>
                    <!-- 為form增加required-validate class,標識需要驗證form -->
                  <form id='helloworld' action="#" class='required-validate'>
          <input name="user.name" class="required min-length-6 max-length-20 validate-alphanum" value="beansoft">
               *密碼:
                <input name="user.password" type="password" class="required min-length-6 max-length-20" value="123456" >

              *密碼(重復):
                <input name="password1" type="password" class="required equals-user.password" value="123456" >

                      <input type='submit' value='Submit'/>
                      <input type='reset' value='Reset'/>
                  </form>

          posted on 2009-12-23 20:52 seal 閱讀(1586) 評論(0)  編輯  收藏 所屬分類: JQuery
          主站蜘蛛池模板: 收藏| 平利县| 喀喇| 华安县| 顺昌县| 东安县| 漳州市| 平顺县| 开封县| 新兴县| 壤塘县| 泰兴市| 张家港市| 威海市| 闵行区| 沐川县| 社旗县| 衡南县| 漳州市| 高阳县| 太白县| 永兴县| 顺昌县| 榆中县| 芦溪县| 安西县| 汝州市| 乃东县| 郓城县| 迭部县| 黑山县| 浪卡子县| 宿州市| 阳春市| 万全县| 阜阳市| 凤阳县| 隆回县| 郴州市| 卫辉市| 沅江市|