J'ai un masque de date JQuery, mais lorsque je lance la page, il génère une erreur "Erreur d'exécution de Microsoft JScript: l'objet ne supporte pas cette propriété ou cette méthode".Le plugin JQuery ne fonctionne pas
Maintenant, le contrôle que ce JQuery particulier est censé fonctionner est ajouté dynamiquement à un contrôle de répéteur. Grâce à cela, j'ai regardé les identifiants du contrôle, où il se cassait et s'arrêtait dans Visual Studio et ce qui est affiché sur la page ASPX. Les identifiants sont identiques à l'exception du "#" que JQuery a au début, qui n'est pas sur la page.
Dans mon code JQuery j'ai:
JQuery(function ($) {
$('#<%=date.ClientID %>').mask("99/99/9999");
});
Est-il loin de dire JQuery de ne pas inclure le « # » lors de la recherche du contrôle? J'ai utilisé UniqueID mais cela change tout trait de soulignement en "$", ce qui n'est pas la même chose que sur la page. Mon seul problème est avec le signe "#" au début de l'ID. J'ai même ajouté une boîte d'alerte pour vérifier que la boîte de texte était là et elle est revenue comme nulle. J'ai essayé même en ajoutant un attribut CssClass à la zone de texte, mais cela à travers la même erreur, aussi.
Veuillez noter que le contrôle utilisateur personnalisé qui a la zone de texte est ajouté par programme au répéteur.
code ci-dessous:
contrôle utilisateur avec répéteur
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="Step4.ascx.cs"
Inherits="Prototype.Step4" %>
<div style="height: 800px; margin-top: 20px; overflow-x: hidden; overflow-y: scroll">
<p>
<b>Edit Stage</b></p>
<asp:Repeater ID="Edit" runat="server">
<HeaderTemplate>
<table>
</HeaderTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
<ItemTemplate>
<tr>
<td>
<asp:Label ID="RowLabel" runat="server" Text="Label" ></asp:Label>
</td>
<td>
<asp:PlaceHolder ID="ControlPlaceHolder" runat="server"></asp:PlaceHolder>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
</div>
Control Mask qui est ajouté dynamiquement au contrôle ci-dessus
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="MaskControl.ascx.cs" Inherits="Prototype.CommonControls.MaskControl" %>
<asp:TextBox ID="date" runat="server" Width="136px" CssClass="dateMask"></asp:TextBox>
<script src="../../Scripts/jquery-1.4.2.js" type="text/javascript"></script>
<script src="../../Scripts/jquery.maskedinput.js" type="text/javascript"></script>
<script type="text/javascript">
// jQuery(function ($) {
// $('.dateMask').mask("99/99/9999");
// });
alert(document.getElementById("MaskedDateBox"));
</script>
Quelqu'un peut-il aider?
avez-vous essayé d'inclure votre script entre CDATA? – Codex73