我的网页中有以下文本框服务器控件:
<asp:TextBox ID="txtZip" runat="server" onchange="ZipCode_OnChange(this, <%= txtZip.ClientId %>, txtCity, txtState);/">
页面呈现时,将构建包括以下内容的页面:
<input name="txtZip" type="text" id="txtZip" onchange="ZipCode_OnChange(this, <%= txtZip.ClientId %>, txtCity, txtState);" />
我正在尝试将文本框的客户端ID作为第二个参数传递给此Javascript函数:
function ZipCode_OnChange(txtZipCode, ClientId) {
var ret;
ret = WebService.GetCityAndState(txtZipCode.value, OnComplete1, OnError, ClientId);
}
如何在服务器上获取它,以评估texbox的控件并将该文字字符串传递给Javascript函数?
最佳答案
将<%= txtZip.ClientId %>
放在单引号之间,如下所示:
'<%= txtZip.ClientId %>'
<asp:TextBox ID="txtZip" runat="server" onchange="ZipCode_OnChange(this, '<%= txtZip.ClientId %>', txtCity, txtState);" />
更新
请检查这篇文章:http://www.jagregory.com/writings/how-to-use-clientids-in-javascript-without-the-ugliness/
我也喜欢this answer