私はJQueryの日付マスクを持っていますが、ページを実行すると "Microsoft JScriptランタイムエラー:オブジェクトがこのプロパティまたはメソッドをサポートしていません"というエラーが発生します。JQueryプラグインが動作しない
この特定のJQueryが動作するようになっているコントロールは、リピータコントロールに動的に追加されました。これにより、コントロールのIDを調べました。コントロールのIDは、Visual Studioで中断して停止していて、aspxページに表示されています。 idは、JQueryが最初に持っていた「#」を除いて同じですが、ページ上にはありません。私は私のjQueryのコードで
:
JQuery(function ($) {
$('#<%=date.ClientID %>').mask("99/99/9999");
});
がコントロールを見つけたときに「#」が含まれていないjQueryのを伝えるためにそこに離れてますか?私はUniqueIDを使用しましたが、これはアンダースコアを "$"に変更します。これはページ上のものと同じではありません。私の唯一の問題は、IDの先頭に "#"記号が付いていることです。私は、テキストボックスがそこにあり、それがnullとして戻ってきたことを確認する警告ボックスを追加しました。私もテキストボックスにCssClass属性を追加しようとしましたが、これも同じエラーです。
テキストボックスを持つカスタムユーザーコントロールは、プログラマチックにリピータに追加されています。以下
コード:リピータと
ユーザーコントロール
<%@ 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 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>
上記のコントロールに動的に追加されたマスク制御は、誰が助けることはできますか?
CDATAの間にスクリプトを囲みましたか? – Codex73