- - PR -
クライアントのJavaスクリプトからCustomValidatorのErrorMessageを操作する方法
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2007-08-28 16:11
VisualStudio2005、ASP.NETで開発を行っております。
フォームにコントロールを複数貼り付けて、それぞれに、同じチェックをクライアント 側でJavaScriptによって実装させたいと思っています。 以下は、そのサンプルです。 入力値が「@@」だったらエラーという仕様になっています。 □ コントロール部分 <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <asp:CustomValidator ID="CustomValidator1" runat="server" ControlToValidate="TextBox1" ClientValidationFunction="ValidateTest" ErrorMessage="初期値" Display="Dynamic" ></asp:CustomValidator><br /> <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox> <asp:CustomValidator ID="CustomValidator2" runat="server" ControlToValidate="TextBox2" ClientValidationFunction="ValidateTest" ErrorMessage="初期値" Display="Dynamic" ></asp:CustomValidator></div> □JavaScript部分 <script language="javascript" type="text/javascript"> <!-- function ValidateTest(source, arguments){ if(arguments.Value == "@@") { arguments.IsValid = false; alert(source.id); } } //--> </script> このように記述することによって、チェックの処理は実行されるのですが、 このままですと当然エラーメッセージは「初期値」のままになります。 JavaScript内で、source.idとすることによって、チェック対象になる CustomValidatorのIDは認識できていますので、これを使って、対象となる ValidaterのErrorMessageを変更したいのですが、やり方がわかりません。 何か、情報がありましたら、宜しくお願いします。 |
|
投稿日時: 2007-08-28 16:29
自己レスです。
以下の文で思うような動きをさせることが出来ました。 document.getElementById(source.id).firstChild.nodeValue = "新しいメッセージ"; これで、問題ないんでしょうか? 微妙に不安ですが・・・ |
1