当前位置: 代码迷 >> ASP.NET >> LinkButton的OnClientClick事件 调用带参数的JS函数 参数未定义?该如何解决
  详细解决方案

LinkButton的OnClientClick事件 调用带参数的JS函数 参数未定义?该如何解决

热度:6233   发布时间:2013-02-25 00:00:00.0
LinkButton的OnClientClick事件 调用带参数的JS函数 参数未定义?
<head runat="server">
  <title></title>
  <script>
  function set(obj) {
  obj.text = "abc";
  }
  </script>
</head>
<body>
  <form id="form1" runat="server">
  <div>
  <asp:LinkButton ID="LinkButton1" OnClientClick="set(TextBox1)" runat="server">LinkButton</asp:LinkButton>
  <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
  </div>
  </form>
</body>

浏览器端:
  <script>
  function set(obj) {
  obj.text = "abc";
  }
  </script>
。。。
<div>
  <a onclick="set(TextBox1);" id="LinkButton1" href="javascript:__doPostBack(&#39;LinkButton1&#39;,&#39;&#39;)">LinkButton</a>
  <input name="TextBox1" type="text" id="TextBox1" />
  </div>


错误: “TextBox1”未定义

------解决方案--------------------------------------------------------
javascript中要调用 getElementById 函数。
------解决方案--------------------------------------------------------
obj.text = "abc"改成obj.value = 'abc'
------解决方案--------------------------------------------------------
HTML code
<html xmlns="http://www.w3.org/1999/xhtml" ><head id="Head1" runat="server">  <title></title>  <script type="text/javascript">      function set(obj) {        document.getElementById(obj).value = "abc";      }  </script></head><body>  <form id="form1" runat="server">  <div>  <asp:LinkButton ID="LinkButton1" OnClientClick="javascript:set('TextBox1')" runat="server">LinkButton</asp:LinkButton>  <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>  </div>  </form></body>
------解决方案--------------------------------------------------------
javascript:set('TextBox1') 'TextBox1'是一个值。

javascript:set(TextBox1) 是一个变量。


------解决方案--------------------------------------------------------
<script type="text/javascript">
function set(obj) {
document.getElementById(obj).value = "abc";
}
</script>
<asp:LinkButton ID="LinkButton1" OnClientClick="set('TextBox1')" runat="server">LinkButton</asp:LinkButton> 
<asp:TextBox ID="TextBox1" runat="server" ClientIDMode="Static"></asp:TextBox>
  相关解决方案