2016-08-25 13 views
3

aspxページのテキストボックスにあるこれらのバンキング番号とルーティング番号をクリアしようとしています。私はそれがテキストボックスのIDを指定し、textbox.text = String.Empty()をどこで使うのか見てきました。しかし、ここではうまくいかないようです。たぶん私は間違ったIDを使用していますか?私もJQueryの.val( "")を使ってみましたが、うまくいきませんでした。特定のテキストボックスをクリアするASPXページ

ここでコードがだ、私は、ボタンのクリックでルーティングおよびアカウントの両方のテキストフィールドをクリアしたいと思います:

 <div id="DivUser1BankInfo" class="labelAndTextboxContainer"> 
      <div class="labelContainer"> 
      <asp:Label CssClass="rightFloat" ID="User1LabelRoutingNumber" runat="server" Text="Routing #:"></asp:Label><br /> 
       </div> 
        <div class="textboxContainer"> 
         <asp:TextBox ID="User1TextRoutingNumber" CssClass="leftFloat " runat="server" Font-Size="Smaller" Width="180px" 
             Text='<%# Bind("User1BankRoutingNumber") %>' 
             Visible='<%# ApexRemington.BLL.VendorBLL.ShowUser1BankInfo((string)Eval("User1BankInfoEditUser")) %>' /><br /> 
        </div> 
      <div class="labelContainer"> 
      <asp:Label CssClass="rightFloat" ID="User1LabelAccountNumber" runat="server" Text="Account #:"></asp:Label><br /> 
        </div> 
        <div class="textboxContainer"> 
        <asp:TextBox ID="User1TextAccountNumber" CssClass="leftFloat " runat="server" Font-Size="Smaller" Width="180px" 
             Text='<%# Bind("User1BankAccountNumber") %>' 
             Visible='<%# ApexRemington.BLL.VendorBLL.ShowUser1BankInfo((string)Eval("User1BankInfoEditUser")) %>' /><br /> 
        </div> 
        <button type="button" id="clearButton1">Clear</button> 

        <div class="button"> 
        <asp:Button ID="User1ClearBankInfo" runat="server" Text="Reset" 
             Visible='<%# ApexRemington.BLL.VendorBLL.ShowUser1BankInfo((string)Eval("User1BankInfoEditUser")) %>' OnClick="clearFields_btn"/><br /> 
        </div> 

=

protected void clearFields_btn(object sender, EventArgs e) 
    { 


    } 

背後のOnClick =「clearFields_btn」コードのおかげでどんな助けでも!

+1

あなたは、あなたはすでに「clearFields_btn」ハンドラで試してみましたが、コードをしてください投稿できますか?そうすれば、あなたが行ったことに間違ったコードが含まれているかどうかを確認することができます。 –

答えて

5

を投稿してください、私は少しの間でASP.NETで働いていないが、私はあなたが望むかもしれないと思いますOnClientClickイベントではなく、OnClickです。 OnClientClickはクライアント側コード(jQuery/JavaScript)用でOnClickはサーバー側コード(C#またはVB.NET)用です。

また、OnClientClickイベントメソッドがfalseを返すようにするか、サーバー側のコードも発生させます。

<asp:Button ID="User1ClearBankInfo" runat="server" Text="Reset" 
    Visible='<%# ApexRemington.BLL.VendorBLL.ShowUser1BankInfo((string)Eval("User1BankInfoEditUser")) %> 
    OnClientClick="clearText();"/> 

そしてclearTextは次のようになります:

<script> 
    function clearText() 
    { 

      //our two IDs   

      $('input[id*="User1TextRoutingNumber"]').each(function(index) { 
       $(this).val(''); 
      }); 
      $('input[id*="User1TextAccountNumber"]').each(function(index) { 
       $(this).val(''); 
      }); 

      return false; 
    } 
    </script> 

EDIT:

は、だから私はあなたのような何かをしたいと思います撃つ、私は私のミスを参照してください。ボタン( "this")ではなく、テキストボックスのテキストをクリアするようにコードを修正しました。

編集:スペースを「クリア」テキストvalから削除しました。

EDIT:GridViewまたはGridViewに依存しないように、柔軟性が少し高くなりました。

+0

ボタンのOnClientClickに 'this'を追加してもTextBoxはクリアされません。 2番目の '$("# "+ obj.id).val(" ");'はクリアされませんが、テキストボックスにスペースを入れます。 – VDWWD

+1

この情報をお寄せいただきありがとうございます。onClientClickの部分についてお分かりいただきありがとうございます。スクリプトの見出しにclearText()関数を追加すると、 '<%= User1TextAccountNumber.ClientID%>'または '<% = User1TextRoutingNumber.ClientID%> ';私はまだそれに触れている。 – Crumblenautjs

+0

これは、あなたのテキストボックスのIDを含むIDを持つ入力を検索するためにこれを更新しました。 Gridviewsと他の親コンテナ(より良い用語がないため)はIDに追加されるので、これはそれを処理する必要があります。私は私のローカルボックスでそれをテストし、それは働いた。お知らせ下さい。 –

1

この

<script> 
var clear = function(textboxID){$('input[id*=' + textboxID + ']').val('');}; 
return false; 
</script> 

<button id="btClearText" onclick="javascript:return clear('txtName');"> 

を試してみていますが、より具体的な答えを必要とするならば、より多くの情報に

2

このようなものが必要です。あなたがクライアント側の解決策を望んでいると仮定します(あなたの質問からあまり明確ではありません)。

<script type="text/javascript"> 
     function clearTextBox() { 
      document.getElementById("<%= User1TextRoutingNumber.ClientID %>").value = ""; 
      //or 
      $("#<%= User1TextRoutingNumber.ClientID %>").val(""); 
      } 
    </script> 

<%= User1TextRoutingNumber.ClientID %>は、javascript/jQueryの正しいIDを確実に取得します。

サーバー側のソリューションは次のようになります。

protected void clearFields_btn(object sender, EventArgs e) 
{ 
     for (int i = 0; i < GridView1.Rows.Count; i++) 
     { 
      TextBox tb = GridView1.Rows[i].FindControl("User1TextAccountNumber") as TextBox; 
      tb.Text = ""; 
     } 
} 
+1

私はあなたがサーバー側で言及したのと同様のものを作成しようとしましたが、intellisenseはそのID属性でピックアップしていません。すべてが内にあることに言及する価値はありますか? – Crumblenautjs

+1

はい、それは言及する価値があります。私は私の答えを更新しました。今度は 'FindControl'を使います。私の例では、別のタイプのコントロールを使用してforループを変更する必要がある場合、GridViewを使用します。 – VDWWD

関連する問題