c# asp.net 文本框添加 oninput 属性动态

发布时间: 2016/7/16 0:44:23
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我想要它,因此我动态添加的文本框调用 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"的按钮点击,只要所有文本框都已都填写。

解决方法 1:

如果你想要调用函数时文本框内的文本更改你可以添加 onchange 到文本框的属性。

txt.Attributes["onchange"] = "jsfunction()";
官方微信
官方QQ群
31647020