-1

jquery 1.8.3 と最新の検証バージョンである jquery 検証プラグイン 1.13.1 を使用しています。私のフォームは次のようになります。

<form method="post" class="contact-form" id="frmB5B976FFD59E885191DA4D572F6F773A" action="?nocache=1#frmB5B976FFD59E885191DA4D572F6F773A" novalidate="novalidate"><input type="hidden" value="true" name="useProtect">
  <input type="hidden" value="0" class="cffp_mm" name="formfield1234567891" id="fp6939F8D3-F46A-C008-37330D6AA1B0BED2">
  <input type="hidden" value="" class="cffp_kp" name="formfield1234567892" id="fp6939F8D4-FE37-FF6D-AD27DC356205A886">
  <input type="hidden" value="39890522,19894825" name="formfield1234567893" id="fp6939F8D6-F82F-92B8-A4B0BA6A966190FA">
  <label style="display:none">Leave this field empty <input type="text" value="" name="formfield1234567894" id="fp6939F8D7-AB86-5202-464CA191E50CE678"></label>
  <p class="column one-half"><input type="text" required="" placeholder="Please Enter First Name" name="fname" id="fname" aria-required="true"></p>
  <p class="column one-half last"><input type="text" required="" placeholder="Please Enter Last Name" name="lname" aria-required="true"></p>
  <p class="column one-half"><input type="email" required="" placeholder="Please Enter Email" name="email" aria-required="true"></p>
  <p class="column one-half last"><input type="text" required="" placeholder="Please Enter Phone Number" name="tel" aria-required="true"></p>
  <p class="clear"><textarea rows="3" required="" placeholder="Please Enter Message" name="comment" cols="5" aria-required="true"></textarea></p>
  <p><input type="submit" id="submitme" value="Submit" name="submitme"></p>
</form>

そして、私の検証は次のようになります-

 var ruleSet = {required: true};
 jQuery( "#frmB5B976FFD59E885191DA4D572F6F773A" ).validate({
  rules:{
        fname: ruleSet,
        lname: ruleSet,
        email: { required: true, email: true },
        phone: { required: true, phoneUS: true },
        message: { required: true }
  }
});

フォームは、mura admin のフォーム セクションにあります。フォームエディタで作成しました。無効なフィールドがある場合でもフォームが送信される理由を理解できません。これは、検証プラグインによって HTML5 検証がオフになっていて、フォームが有効か無効かに関係なく Mura がフォームを送信するためである可能性があります。preventdefault()しかし、検証が失敗した場合、検証プラグインが実行しないのはなぜでしょうか? また、検証に JSFiddle を使用してみましたが、そこで動作します。私を助けてください。ありがとう。ご参考までに。上記のフォーム html は「ページ ソース」からのものであり、フォーム エディターからの実際のフォームではありません。それがすべての奇妙な理由form idなどcffp_mmです。

4

1 に答える 1