我有一个文本框

<input type="text" id="hoverChange" runat="server" onchange="hoverAction"/>


我在服务器端代码中定义了以下方法,

protected void hoverAction(object sender, EventArgs e)
{
    string sectionName=hoverChange.Value;
    if (sectionName != "") sectionHoverUserControl.displayHoverContent(sectionName);
}


当我以编程方式为文本框设置一些值时,我需要执行上述方法。我尝试执行以下操作,但均未触发onchange事件,

document.getElementById('<%= hoverChange.ClientID %>').value = "some_text";


要么

$('#<%= hoverChange.ClientID %>').val("some_text");


多谢您的协助!
谢谢,
ish

最佳答案

当您以编程方式更新输入的值时,浏览器不会触发“更改”事件。您可以使用jQuery执行以下操作:

$('#<%= hoverChange.ClientID %>').val("some_text").change();


自己触发事件。 (您可以在没有jQuery的情况下完成此操作,但要花更多的精力。)

关于javascript - 当JavaScript通过编程方式更改文本框值时,调用服务器端方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15489240/

10-11 13:17