0

テキストボックスがグリッドビューセルに動的に追加されるコードを作成しました。テキストボックスにはデフォルトのテキストがいくつかあります。ユーザーがテキストボックスをクリックすると、デフォルトのテキストが消え、ユーザーは文字や特殊文字を使用できなくなり、数字だけで何かを書くことができるようになります。

これを達成する方法を教えてください。コード例

    Gridview gv=new Gridview();
    gv.DataSource=dt;
    gv.DataBind();

    Textbox t1 = new Textbox();
    t1.Text="Outages if any(in mins)";
    gv.Rows[0].Cells[0].Controls.Add(t1);

この後、ユーザーがカーソルをテキストボックスに置くと、デフォルトのテキストが消え、ユーザーが何も書かずにカーソルを離すと、デフォルトのテキストが再び表示されます。また、デフォルトのテキストは少しぼやけているはずです

ありがとう。

4

3 に答える 3

2

このようなことを試してください

Textbox t1 = new Textbox();
t1.Attributes.Add("onclick", "if(this.value == 'default text') this.value = '';"
t1.Attributes.Add("onblur", "if(this.value == '') this.value = 'default text';" />

onfocusユーザーがtabキーを使用する場合にも使用できます

このthis.valueアプローチでは、コントロールのクライアント ID を知る必要はありません。

于 2013-03-05T19:22:49.313 に答える
1

これは、あなたが何をしようとしているのかを正確に説明した投稿です。

方法: サーバー側の検証を実施しながらテキスト ボックスに既定のテキストを含める

関連するポイントは次のとおりです。

  1. onfocus & および onblur に JavaScript 属性を追加します。

    txtName.Attributes.Add("onfocus","clearText()"); 
    txtName.Attributes.Add("onblur","resetText()"); 

  2. テキストボックスをクリアして再入力するための JavaScript を追加します。

        function clearText() { 
            document.form1.txtName.value = "" 
        } 
    
        function resetText() { 
            if(document.form1.txtName.value == "") 
                document.form1.txtName.value = "(enter something here)" 
    
于 2013-03-05T19:14:52.010 に答える
0

あなたはこれを行うことができます。最も簡単な方法は、ajaxControlToolkitを使用することです。コントロールを動的に作成できます。例えば:

    Dim mt As new TextBox 
    Dim newTest As New AjaxControlToolkit.TextBoxWatermarkExtender

    With mt
        .ID = "textBox1"
        .TextMode = TextBoxMode.SingleLine
    End With

    With newTest
        .ID = "TextBoxWatermarkExtender1"
        .TargetControlID = mt.ClientID
        .WatermarkText = "test"

    End With

次に、テキストボックスで行っているように、両方のコントロールをグリッドビューに追加します。Ajaxを使用していない場合は、コードビハインドを介してコントロールにjavascriptを追加できますが、これはより困難です。それがあなたのやりたいことであるかどうか私に知らせてください、そして私はあなたにその方法を示すためにいくつかのコードを追加します。

これにより、ajaxTextBoxWaterMarkExtenderが関連付けられたテキストボックスコントロールが作成されます。

于 2013-03-05T19:13:06.917 に答える