如何在html元素中呈现服务器控件客户端ID

时间:2013-07-18 07:20:48

标签: javascript jquery asp.net

<script type="text/javascript">

function myfunc(param1, param2, param3)
{
//my stuff
}

</script>

<asp:Textbox id="txt" runat="server"></asp:Textbox>
<asp:Button id="btn" runat="server" OnClientClick="myfunc(textboxclientid, 'secondvalue', 'thirdvalue')">

如何从按钮onclientclick

将文本框的clientID发送到我的javascript函数

5 个答案:

答案 0 :(得分:2)

因为你标记了jQuery,你可以使用jQuery选择器:

<script>
  $("#<%=btn.ClientID%>").click(function() {
    //my stuff
  });
</script>

或者如果您仍想使用OnClientClick

<asp:Button id="btn" runat="server" OnClientClick="myfunc(this, 'secondvalue', 'thirdvalue')">
<script>
  function myfunc(btn, val1, val2) {
    var buttonRef = $(btn);
  }
</script>

答案 1 :(得分:1)

试试这个

function myfunc(param1, param2, param3)
{
var id = document.getElementById("ctrlname").value;
}

你也可以使用

 var txtUsernameID = '<%= txtboxname.ClientID %>';

希望这会对你有所帮助

更新回答

你必须尝试这个

<input type="text" id="txtFirstName" runat="server" class="textReg"
onclientclick="javascript:myfunc(<%=txtFirstName%>,'imgFirstNameS','imgFirstNameE');" />`

Java脚本函数

function myfunc(control, success, error) {
control = document.getElementById('<%='+control+'.ClientID %>');
} 

希望这将是您正确的解决方案

答案 2 :(得分:0)

首先

OnClientClick="

应该是

onclick="

您可以使用this.id作为元素的客户端ID

onclick="myfunc(this.id, 

答案 3 :(得分:0)

您可以使用onclick="myfunc($("#<%=txt.ClientID%>"), 'secondvalue', 'thirdvalue')。另一点是您可以通过jquery轻松完成此操作

答案 4 :(得分:0)

您可以使用此代码:

document.getElementById('<%= NameOfElement.ClientID%>');

例如:

document.getElementById('<%= txt.ClientID%>');