为什么调用javascriptfunction的textbox onchange事件不起作用?

为什么调用javascriptfunction的textbox onchange事件不起作用?,javascript,asp.net,events,textbox,onchange,Javascript,Asp.net,Events,Textbox,Onchange,我的asp控件: <asp:TextBox ID="txtCustomer" runat="server" width="54%" onchange="return info();"> </asp:TextBox> <asp:HiddenField ID="hdn" runat="server" /> <asp:DropDownList ID="ddlrNo" runat="server"> </asp:DropDownList

我的asp控件:

<asp:TextBox ID="txtCustomer" runat="server" width="54%" onchange="return info();">      </asp:TextBox>
 <asp:HiddenField ID="hdn" runat="server" />
<asp:DropDownList ID="ddlrNo" runat="server">
 </asp:DropDownList>

我的javascript函数:

function info() {  

var ss = document.getElementById(hdn);   
 var ss1 = document.getElementById(ddlrNo);
  var str = ss.value    
 var arr = str.split("~");
 alert(arr[0])
 for (var i = 0; i < arr.length; i++) {

    ss1.selectedIndex = 0
    ss1.options[0].text = arr[0];
}
}
函数信息(){
var ss=document.getElementById(hdn);
var ss1=document.getElementById(ddlrNo);
var str=ss.value
var arr=str.split(“~”);
警报(arr[0])
对于(变量i=0;i
我有一个文本框,我必须在上面调用javascript函数,从隐藏字段中获取值,以填充基于该隐藏字段的下拉值


但是它不起作用。代码有什么问题。

代码中有些地方不正确 第一个
document.getElementById(hdn)应在单引号或双引号中使用,例如

document.getElementById("hdn");
下一行也是如此 然后
ss1.options[0]。text
这也是不正确的 当访问javascript中的下拉列表时,
.value
更合适

<asp:TextBox ID="txtCustomer" runat="server" width="54%" onblur="javascript:info()"/>


如果我试图通过“”获取值,然后在警报警报(document.getElementById(“hdn”)中显示null,这是因为arr[0]没有任何内容可显示,您需要更多地了解如何在javascript中执行操作,也许您最好使用.getElementById(“txtCustomer”)代替HDN其他控件,显示OBJECTHTMLINPUTELEMENT的警报消息。Nd arr[0]稍后在js代码中编写,从一开始我就发出警报