簡體   English   中英

C#asp.net文本框動態添加oninput屬性

[英]c# asp.net textbox add oninput attribute dynamically

我想這樣做,以便每次文本框內的值更改時,我動態添加的文本框都會調用javascript函數。 這可以通過使用onInput屬性來實現。 我可以沿着這些路線動態添加該屬性嗎?

Textbox txt = new TextBox();
txt.ID = "test";
txt.Attrubute = onInput("jsfunction()");
form1.Controls.Add(txt);

要么

txt.Attributes["onInput"] = "jsfunction()";

提前致謝 :)

編輯:

這是我的整個代碼段。

pholder.Controls.Add(new LiteralControl("<table>"));
for (int i = 0; i < dv_inputParameter.Count; i++)
{
    pholder.Controls.Add(new LiteralControl("<tr>"));
    pholder.Controls.Add(new LiteralControl("<td>"));
    Label lbl = new Label();
    lbl.Text = dv_inputParameter.Table.Rows[i][1].ToString() + " ";
    lbl.ID = "lbl_parameter" + i;
    pholder.Controls.Add(lbl);
    pholder.Controls.Add(new LiteralControl("</td>"));

    pholder.Controls.Add(new LiteralControl("<td>"));
    TextBox txt = new TextBox();
    String tb_id = "tb_parameter" + i;
    txt.ID = tb_id;
    txt.Attributes.Add("onkeyup", String.Format(@"var txt = document.getElementById({0}); var btn = document.getElementById('Btn_Start'); btn.disabled = (txt.value.trim().length == 0)", tb_id));
    pholder.Controls.Add(txt);
    pholder.Controls.Add(new LiteralControl("</td>"));
    pholder.Controls.Add(new LiteralControl("</tr>"));
}
pholder.Controls.Add(new LiteralControl("</table>"));

我將標簽和文本框放在html表中。 一旦所有文本框都填寫完畢,該函數應該使ID為“ Btn_Start”的按鈕可單擊。

你可以用這個

txt.Attributes.Add("onkeyup", "alert('Key UP');");

嘗試這個

<script type="text/javascript">
           function keyUP()
           {
              alert('hi');
           }
  </script>

為文本框添加此屬性

  txt.Attributes.Add("onKeyUp", "keyUP()")

每當您在文本框中輸入任何字母時,這都會給您警報。

如果要在文本框內的文本更改時調用函數,可以向文本框添加onchange屬性。

txt.Attributes["onchange"] = "jsfunction()";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM