2010-02-11 54 views
0

我的視圖中有兩個Textbox控件。 這裏jQuery驗證功能正在工作時,名稱是一個字。 當名稱中有任何點時,它不起作用。jQuery驗證與ASP.NET MVC頁面上的文本框命名?

在下面的jQuery的功能,如果我用「姓氏」文本框的ID進行驗證,這是不允許的數字之外的任何其它鍵。但不知何故,如果我使用「AddressDetail.ZipCode」textbox id只允許數字,它不會調用。因爲它正在引用子表,所以我只能使用「AddressDetail.ZipCode」。

這是我的代碼。

<table> 
    <tbody> 

<tr><td class="Form_Label"><label for="LastName">Last Name</label><em>*</em></td> 
     <td CssClass="Form_Value"><%= Html.TextBox("lastname", Model.LastName, new { @class = "required", size = "30" })%></td></tr> 

     <tr><td class="Form_Label"><label for="Zip">Zip</label><em>*</em></td> 
     <td CssClass="Form_Value"><%= Html.TextBox("AddressDetail.ZipCode", Model.AddressDetail.FirstOrDefault().ZipCode, new { @class = "required zip", minlength = "5"})%></td></tr> 

<tr><td colspan="2" align="center"><input type="submit" id="btnUpdProfile" value="Update" /> </td></tr> 

JQuery的功能驗證:

<script type="text/javascript"> 


    $(document).ready(function() { 
     //Disabling all other keys except digits 
     $('#AddressDetail.ZipCode').live('keypress', function(e) { 
      var keyPressed; 
      if ((e.charCode) && (e.keyCode == 0)) 
       keyPressed = e.charCode 
      else 
       keyPressed = e.keyCode; 
      if (keyPressed < 48 || keyPressed > 57) { 
       return false; 
      } 
      return true; 
     }); 
    }); 

</script> 

    </tbody> 
</table> 

回答

2

的。被解釋爲類選擇器。你想:

$('#AddressDetail\\.ZipCode')

雙反斜線被分析器作爲'#AddressDetail\.ZipCode'評估。 jQuery在週期前面看到反斜槓,並且從字面上解釋它,而不是作爲類選擇器。

+1

'$('#AddressDetail \\。ZipCode')'需要兩個iirc – 2010-02-11 21:49:15

+0

正確和編輯! – CalebD 2010-02-11 21:52:30

+0

嗯.....我試過了。還是行不通。 – Rita 2010-02-11 22:16:24