簡體   English   中英

快速jQuery問題

[英]Quick jQuery Question

我收到這樣的錯誤:

Uncaught TypeError: Cannot read property 'form' of undefined

Firebug說這是罪魁禍首:

if($("emailPost2").valid())

這是我所有的jQuery代碼:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js" type="text/javascript" charset="utf-8"></script>
<link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/redmond/jquery-ui.css">
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.10/jquery-ui.min.js"></script>

<script type="text/javascript" src="https://github.com/jzaefferer/jquery-validation/raw/master/jquery.validate.js"></script>

<script type="text/javascript" charset="utf-8">
  $(function(){      
     $("emailPost2").validate({
        rules: {
            emailAddress: {
                required: true,
                email: true
                      }
            }
     }); 
     $('#zonePlus').click(function() {
          $('#zoneNotif').submit();
     });

     $('#searchPost').submit(function(event) {
     if ($(this).find('#searchBox').val() == '') {
          event.preventDefault();
     }
     });
     $("#searchBox").autocomplete({
             source: 'php/searchAC.php'
     });
     $("button, input:submit, input:button, a#jql, input:radio").button();

     $('#emailJQButton').live('click',function() {
        $("#emailModal").dialog('open');
     });

     $('#eb1').live('click',function() {
        $('#emailPost').submit();
        $("#emailModal").dialog('close');
     });

     $('#eb2').live('click',function() {
        if($("emailPost2").valid())
        {
            $('#emailPost2').submit();
            $("#emailModal").dialog('close');
        }
     });
});
</script>

如果有效,valid()應該返回true,但是我只是得到上面提到的錯誤,而不是任何結果。

編輯:這是表單的HTML代碼:

<div id="emailModal">
<form action="php/emailPost.php" method="POST" class="inline" id="emailPost2">
<label name="error"></label>
<input type="text" value="Enter an Email" class="required email" name="emailAddress"     style="display: inline-block;">
<input type="button" value="Email" id="eb2"/>
<input type="hidden" name="passedCoupID" value="1"/>
</form>
</div>

看起來問題僅在於您忘記了ID選擇器中的#:

$("#emailPost2").valid()

(而不是當前的$("emailPost2").valid()

假設
表單id =“ emailPost2”

你需要

if($("#emailPost2").valid())

我想加粗#號,但不允許放在括號內,因此我慢了15秒:(

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM