2017-03-30 13 views
0

したがって、テキストボックスと除外する検証テキストを含むdivを持つASP.NETリピータコントロールがあります。テキストボックスに特殊文字が入力されている場合、このdivを表示しようとしています。私はjqueryの正規表現をすべてのテキストボックスに適用することに成功しましたが、エラーdivを表示するには、入力がユーザーによって入力されているテキストボックス行に検証エラーを適用する方法を理解しようとしています。この特定の行のメッセージ。私はそれを最初の行で動作させることができますが、リピーターはHTML内に独自のコントロールIDを作成しているので、これについてどうやって行くのかと思いました。ここに私のコードは次のとおりです。JQueryを使用してRepeater内のDIV要素にアクセスする方法

$(function(){ 

$('[id*=txtbox1]').keyup(function() 
{ 
    var Input = $(this).val(); 
    re = /[`[email protected]#$%^&*()_|+\-=?;:'",.<>\{\}\[\]\\\/]/gi; 
    var SplChar = re.test(Input); 
    if(SplChar) 
    { 
     var replchar = Input.replace(/[`[email protected]#$%^&*()_|+\-=?;:'",.<>\{\}\[\]\\\/]/gi, ''); 
     $(this).val(replchar); 
        $('#ErrorDiv').show(); 
    } 
});}); 



<asp:Repeater ID="rptItems" runat="server"> 
<ItemTemplate> 
      <asp:textbox ID="txtbox1" runat="server" Text='<%# Eval("Questions") %>' /> 
      <div id="ErrorDiv" style="display: none;">No special characters</div> 
</ItemTemplate> 

任意の提案ですか?ヘルプをよろしくお願いいたします。

+0

HTMLドキュメントのIDは一意である必要があるため、結果のHTMLを投稿し、 'id =" ErrorDiv "'を使用しないでください。 – Legends

+0

代わりにaspラベルを追加する必要がありますか? HTML IDまたはテキストボックスは、少なくともtxtbox1_0、txtbox1_1、txtbox1_2、txtbox1_3、txtbox1_4などのようになります。 – Rankone

+0

リピーターの結果のHTMLを投稿してください... – Legends

答えて

0

ですから、この

$(".question").keyup(function() ...

から

$('[id*=txtbox1]').keyup(function() ...

を置き換えることができますので、

<asp:textbox ID="txtbox1" class="question" runat="server" Text='<%# Eval("Questions") %>' />

のようなあなたのテキストボックスのHTMLにクラスを追加します。


IDは一意でなければならず、あなたのリピータは同じIDで複数のdivを作成するため、この#ErrorDivは機能しません。したがってid="ErrorDiv"class="errorDiv"に変更してください。

間違っ

$('#ErrorDiv').show();

正しい

// $('#ErrorDiv').show(); 
$(this).next(".errorDiv").show(); 
+0

ありがとうSudarpo Chong、私はあなたのアドバイスを受けて、IDに頼る代わりにクラスを追加しました。これはうまくいくようでした、助けに感謝! – Rankone

+0

あなたは歓迎です、@Rankone。喜んで助けてください。これはasp net webフォームで作業するときに遭遇する共通の問題です) –

0

テキストボックス - のidのがユニークであるので、あなたが直面している問題があります。唯一解決策は、getElementsByNameまたはそのclass名前を使用して要素を選択することです。

+0

助けを歓迎Webruster、上記の回答に基づいて、これは私が先に進んだアプローチです。 – Rankone

関連する問題