首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >插入日期选择器后,Jquery表单验证不起作用

插入日期选择器后,Jquery表单验证不起作用
EN

Stack Overflow用户
提问于 2011-01-03 00:06:48
回答 8查看 6.1K关注 0票数 8

我想创建一个预订(预订)表单与日期选择器文本字段,姓名,联系方式和bla bla bla。

当我的表单获得姓名输入文本字段、电子邮件输入文本字段、联系人输入文本字段和datepicker之外时,验证工作正常。

在我插入jquery datepicker之后,验证不起作用,而datepicker工作正常。

有谁能帮我一下吗?

代码语言:javascript
运行
复制
<script src="js/prototype.js" type="text/javascript"></script>
<script src="js/validation.js" type="text/javascript"></script>
<script src="js/effects.js" type="text/javascript"></script>

<link rel="stylesheet" type="text/css" href="css/style.css" />

<script type="text/javascript" src="js/jquery-1.4.4.min.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.8.7.custom.min.js"></script>
<link type="text/css" href="css/start/jquery-ui-1.8.7.custom.css" rel="stylesheet" />
<script>
$(function() {
 $( "#datepicker" ).datepicker();
});
</script>


<form id="test" action="#" method="get">
<fieldset>
    <!--<legend>Form</legend>-->
    <div class="form-row">
        <div class="field-label">
          <label for="name-t2">*Your Name:</label>
          </div>
        <div class="field-widget"><input name="name-t2" id="name-t2" class="required" title="Enter your name" /></div>
    </div>
    <div class="form-row">
        <div class="field-label"><label for="email-t2">*Your Email:</label></div>
        <div class="field-widget"><input name="email-t2" id="email-t2" class="required validate-email" title="Enter a correct email. E.g. xx@example.com" /></div>
    </div>
    <div class="form-row">
        <div class="field-label"><label for="contact-t2">Contact Number:</label></div>
        <div class="field-widget"><input name="contact-t2" id="contact-t2" class="validate-digits" title="Enter your contact number" /></div>
    </div>
    <div class="form-row">
        <div class="field-label"><label for="datepicker">Departure Date:</label></div>
        <div class="field-label">
            <input id="datepicker" name="datepicker" class="required validate-date-au" type="text" />
        </div>
    </div>
    <div class="form-row">
        <div class="field-label"><label for="ppl-t2">Number of People:</label></div>
        <div class="field-label"><input name="ppl-t2" id="ppl-t2" class="validate-number" title="Optional: Enter number of people" /></div>
    </div>
    <div class="form-row">
        <div class="field-label"><label for="budget-t2">Your Budget:</label></div>
        <div class="field-widget">
            <select id="budget-t2" name="budget-t2" class="validate-selection" title="Choose your budget">
                <option>Select one...</option>
                <option>< $100</option>
                <option>$100 - $250</option>
                <option>$250 - $500</option>
                <option>$500 - $750</option>
                <option>$750 - $1,000</option>
                <option>> $1,000</option>
            </select>
        </div>
    </div>
    <div class="form-row">
        <div class="field-label"><label for="enquiry-t2">Special Enquiry:</label></div>
        <div class="field-label">
         <input type="checkbox" name="enquiry-t2" id="enquiry-travel" value="Travel" />Travel<br>
            <input type="checkbox" name="enquiry-t2" id="enquiry-accommadation" value="Accommodation"  />Accommodation<br>
            <input type="checkbox" name="enquiry-t2" id="enquiry-flight" value="Flight Ticket"  />Flight Ticket<br>
            <input type="checkbox" name="enquiry-t2" id="enquiry-other" value="Others" class="validate-one-required" />Others 
        </div>
    </div>

    <div class="form-row">
        <div class="field-label-textarea"><label for="comment-t2">Your Message:</label></div>
        <div class="field-label-textarea">
                <TEXTAREA NAME="comment-t2" id="comment-t2" class="required" cols=55 rows=10></TEXTAREA>
        </div>
    </div>

</fieldset>
<input type="submit" value="Submit" /> <input type="button" value="Reset" onClick="valid.reset(); return false" />
</form>

<script type="text/javascript">
 var valid2 = new Validation('test', {useTitles:true});
</script>
EN

回答 8

Stack Overflow用户

发布于 2012-02-03 19:16:40

代码的问题是jquery库和prototype库冲突。

许多JavaScript库使用'$‘作为函数名或变量名,就像jQuery一样。在这里,jquery和prototype库在“$”上发生了冲突。在jQuery的例子中,'$‘只是'jQuery’的别名。要解决此问题,请在无冲突模式下添加jquery。

代码语言:javascript
运行
复制
jQuery.noConflict();

包含所有jquery代码,如下所示:

代码语言:javascript
运行
复制
(function($) {    

     //jquery code goes here.    

})(jQuery);

请看完整的代码:

代码语言:javascript
运行
复制
<script type="text/javascript">

jQuery.noConflict();

(function($) {  
          $("#datepicker").datepicker();
})(jQuery);

</script>

上面的过程将确保jquery不会与您的其他库冲突,即本例中的prototype。

票数 10
EN

Stack Overflow用户

发布于 2011-01-03 01:38:57

JQuery和Prototype可能在“$”上发生冲突。

尝试:

代码语言:javascript
运行
复制
<script type="text/javascript">
         var $j = jQuery.noConflict()
         $j(function() {
              $j("#datepicker").datepicker();
          });
</script>
票数 6
EN

Stack Overflow用户

发布于 2011-02-24 13:41:12

在我的datepicker函数中插入以下代码后,datepicker格式不起作用,而JQuery验证工作正常:

代码语言:javascript
运行
复制
<script type="text/javascript">
     var $j = jQuery.noConflict()
     $j(function() {
          $j("#datepicker").datepicker();
      });
</script>
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4579196

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档