[英]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.