1

私はカスタム フォーム (ここで表示できます: http://tylypahka.tk/pisteet/pisteet.php ) を作成し、javascript ベースのフォーム検証を使用します。モジュールでカスタムコードを許可するFlexiコンテンツプラグインを使用して、次のコードをJoomlaモジュールに埋め込もうとしました。

したがって、モジュールを適切な位置に配置すると、完全に機能します (ここでテストできます: http://tylypahka.tk/index.php/uutiset/78-pysyvae/75-tupapisteet )。しかし、まったく同じモジュールを記事に入れようとすると、何らかの理由で検証 JavaScript が機能しません。さまざまなプラグインを介してモジュールを埋め込もうとしましたが、JavaScript が機能していないようです。モジュールに次のコードがあります。

<link rel="stylesheet" type="text/css" href="http://tylypahka.tk/pisteet/pisteet.css">
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script src="http://tylypahka.tk/pisteet/jquery.validate.min.js" type="text/javascript"></script>
<script>
$(document).ready(function(){
    $("#pisteet").validate({
  rules: {
    pisteet: {
      required: true,
      maxlength: 3
    }
  }
  });
  });
</script>

<div id="tupapisteet">
<div id="stylized" class="myform">
  <h1>Tupapisteet</h1>
   <p>Lisää tai vähennä tupapisteitä tuvilta, hyvän syyn kera</p>
        <form method="post" action="#" id="pisteet">

          <label for="nimi" class="label">Oma nimi<span class="small">Kirjoita oma nimimerkkisi</span></label>
          <input type="text" name="nimi" id="nimi" class="required">
          <br><br><br>

          <label for="tupa" class="label">Tupa<span class="small">Valitse tupa</span></label>
          <select name="tupa">
              <option type="text" name="Rohkelikko" id="Rohkelikko" value="Rohkelikko">Rohkelikko</option>
              <option type="text" name="Luihuinen" id="Luihuinen" value="Luihuinen">Luihuinen</option>
              <option type="text" name="Korpinkynsi" id="Korpinkynsi" value="Korpinkynsi">Korpinkynsi</option>
              <option type="text" name="Puuskupuh" id="Puuskupuh" value="Puuskupuh">Puuskupuh</option>
          </select>
          <br><br><br>

          <label for="pisteet" class="label">Pisteet<span class="small">Jos haluat vähentää pisteitä, laita eteen -</span></label>
          <input type="text" name="pisteet" id="pisteet" class="required number" maxlength="10">
          <br><br><br><br>

          <label for="syy" class="label">Syy<span class="small">Kirjoita tähän hyvät perustelut</span></label>
          <textarea type="text" name="syy" id="syy" class="required"></textarea>
          <br><br><br>

          <button type="submit" name="submit" value="submit">Oikeus tapahtukoon!</button>
        </form>
  </div>

ここで何が問題になるか知っている人はいますか?どんな提案や助けも大歓迎です!

4

2 に答える 2

1

あなたのサイトでは 3 つのバージョンの jQuery が実行されているため、jQuery の競合が原因である可能性が高いと感じています。

どこにコードを追加しているのかわかりませんが、jQuery が既に読み込まれているかどうかを検出するために使用するコードを使用してみてください。そうでない場合は、インポートします。

<?php
  if(!JFactory::getApplication()->get('jquery')){
     JFactory::getApplication()->set('jquery',true);
     $document = JFactory::getDocument();
     $document->addScript(JURI::root() . "components/your_component/jquery.js");
  }
?>

お役に立てれば。

于 2013-02-07T22:33:51.137 に答える
0

mootools ライブラリとの競合により、コードが機能していないと思います。使用してみてくださいjQuery.noConflict()

    var $j = jQuery.noConflict();
    $j(document).ready(function(){
        $j("#pisteet").validate({
      rules: {
        pisteet: {
          required: true,
          maxlength: 3
        }
      }
      });
 });

これが役立つことを願っています。

于 2013-02-08T13:56:18.870 に答える