2012-12-13 28 views
2

我已經看過在asp.net用戶控件中使用JQuery的示例,並且當我嘗試在論壇中表達的示例時,我仍然沒有從JQuery獲得任何響應。
有誰能幫我解決這個問題嗎?整個控制標記如下所示。
只是爲了防止它不明顯,我想實現接受到txtNoteText文本框中的字符過濾器。在ASP.NET用戶控件上使用JQuery?

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="NotesEdit.ascx.cs" Inherits="InstallationProjectManager.Restricted.NotesEdit" %> 
<%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI, Version=2011.2.915.40, Culture=neutral, PublicKeyToken=121fae78165ba3d4" %> 
<script src="<%# ResolveUrl("~/javascript/jquery-1.8.3.min.js") %>" type="text/javascript"></script> 
<script type="text/javascript"> 
    $(document).ready(function() { 
     $('<%= txtNoteText.ClientID %>').bind('keypress', function(event) { 
      var regex = new RegExp("^[a-zA-Z0-9]+$"); 
      var key = String.fromCharCode(!event.charCode ? event.which : event.charCode); 
      if (!regex.test(key)) { 
       event.preventDefault(); 
       return false; 
      } 
     }); 
    }); 
</script> 
<table id="tblNotesEdit" style="border-collapse: collapse; border-spacing: 2px; border: 15px; padding: 1px; width: 100%;"> 
    <tr> 
     <td> 
      <table style="margin-left: 10px; width: 100%;"> 
       <tr><td><asp:HiddenField runat="server" ID="hfNoteID" Value='<%# DataBinder.Eval(Container, "DataItem.ID") %>'/></td></tr> 
       <tr><td colspan="2"><h2 class="headerMajor">Add/Edit Job Notes</h2></td></tr> 
       <tr> 
        <td class="verticleTableStyle">Note Type:</td> 
        <td> 
         <telerik:RadComboBox ID="cbxNoteType" Runat="server" Enabled='<%# (DataItem is GridInsertionObject) %>' SelectedValue='<%# DataBinder.Eval(Container, "DataItem.NoteTypeID") %>' DataSourceID="dsNoteTypes" DataTextField="Description" DataValueField="ID" Skin="Simple" /> 
         <asp:SqlDataSource ID="dsNoteTypes" runat="server" ConnectionString="<%$ ConnectionStrings:InstallationProjectManager.Properties.Settings.conDB %>" SelectCommand="SELECT [ID], [Description] FROM [NoteTypeEnumeration]"></asp:SqlDataSource> 
         <asp:RequiredFieldValidator runat="server" ID="rfvCBXNoteType" EnableClientScript="True" ControlToValidate="cbxNoteType" ErrorMessage="Note type is required to create a note record." InitialValue="Pick One" Display="None" /> 
         <ajaxToolkit:ValidatorCalloutExtender ID="vceRFVCBXNoteType" runat="server" TargetControlID="rfvCBXNoteType"/> 
        </td> 
       </tr> 

       <tr><td class="verticleTableStyle">Note Text:</td><td><telerik:RadTextBox ID="txtNoteText" runat="server" SkinID="LongTextBox" Culture="en-US" Text='<%# DataBinder.Eval(Container, "DataItem.Message") %>' EmptyMessage="Notes" Skin="Simple" Rows="20" Width="90%" Height="50%" TextMode="MultiLine" /></td></tr> 
       <tr><td></td></tr> 
       <tr><td></td></tr> 
       <tr> 
        <td colspan="2"> 
         <telerik:RadButton ID="btnUpdate" Text="Update" runat="server" Skin="Telerik" CommandName="Update" Visible='<%# !(DataItem is GridInsertionObject) %>'><Icon PrimaryIconUrl="../Images/saveHS.png" /></telerik:RadButton> 
         <telerik:RadButton ID="btnInsert" Text="Insert" runat="server" Skin="Telerik" CommandName="PerformInsert" Visible='<%# DataItem is GridInsertionObject %>'><Icon PrimaryIconUrl="../Images/saveHS.png" /></telerik:RadButton> 
         &nbsp; 
         <telerik:RadButton ID="btnCancel" Text="Cancel" runat="server" Skin="Telerik" CommandName="Cancel" CausesValidation="False"><Icon PrimaryIconUrl="../Images/305_Close_16x16_72.png" /></telerik:RadButton> 
        </td> 
       </tr> 
       <tr><td></td></tr> 
       <tr><td></td></tr> 
       <tr><td></td></tr> 
      </table>    
     </td> 
    </tr> 
</table> 

謝謝。

+0

嘗試安裝防火錯誤Firefox和看看你得到 – kleinohad

+0

有任何的JavaScript錯誤你嘗試過使用諸如螢火蟲或蜻蜓之類的網絡調試器來查看你是否有任何錯誤? –

+2

嘗試修改'$('#<%= txtNoteText.ClientID%>')。bind()' –

回答

6

您需要使用#前綴的DOM元素的id在jQuery選擇:

$('#<%= txtNoteText.ClientID %>').bind(... 
1

變化與#

<script type="text/javascript"> 
    $(document).ready(function() { 
     $('#<%= txtNoteText.ClientID %>').bind('keypress', function(event) { 
      var regex = new RegExp("^[a-zA-Z0-9]+$"); 
      var key = String.fromCharCode(!event.charCode ? event.which : event.charCode); 
      if (!regex.test(key)) { 
       event.preventDefault(); 
       return false; 
      } 
     }); 
    }); 
</script>