如何使用parsley.js提交表单?

时间:2013-12-27 16:55:00

标签: javascript jquery parsley.js

我已经验证了工作,并且在提交时显示了消息,但是页面似乎没有处理表单/刷新。否则我觉得我很高兴去!

这是我的HTML:

<form  parsley-validate id="frmContact" action="<?php echo $_SERVER['PHP_SELF']; ?>"                           method="POST">
<p>
<label for="yourName">name</label>
<input id="yourName" parsley-required="true" parsley-mincheck="2" parsley-focus="first"  type="text" name="name" class="required textArea" placeholder="Please enter your full name"/>
</p>

<p>
<label for="email" >Email</label> 
<input id="email" data-trigger="change" parsley-required="true" parsley-type="email"  type="email" name="email" class="textArea" placeholder="Please enter your email address"/>
</p>

<p>
<label for="comments">Comments</label> 
<textarea id="comments" data-trigger="change" required data-required="true" name="comments"  class="textArea" title="Message field!"/>
</textarea>
</p>

<p>
<input type="submit" class="submit myButtons submitButton specificLink button button-block button-rounded button-large" name="submit" value="Submit" placeholder="">
</p>

<div id="results" class="results" style="text-align:center;">
<span>
<p class="success">Your message was sent succssfully!<br> I will be in touch as soon as I can.
</p>
</span>
</div>
</form>

JS / jquery的:

var dd= $.noConflict();

dd(function() { 
  dd(":text:first").focus();
    dd(".success").hide();
      dd('#frmContact').submit(function(e) { 
          e.preventDefault();
          if ( dd(this).parsley('validate') ) {
              dd.post("index.php",  dd(".success").show());       
          }
    });
}); 

1 个答案:

答案 0 :(得分:0)

尝试将dd(this).parsley('validate')替换为truefalse,以消除问题中的parsley.js

您可能会注意到e.preventDefault();无法正常工作。有关详细信息,请参阅this answer

尝试使用此代替代码:

dd(function() { 
  dd(":text:first").focus();
  dd(".success").hide();
  dd('#frmContact').submit(function(e) { 
    if ( dd(this).parsley('validate')) {
      dd.post("index.php",  dd(".success").show());       
    }
    return false;
  });
});

Here is a fiddle