【问题标题】:why textbox onchange event to call javascriptfunction not working?为什么文本框 onchange 事件调用 javascriptfunction 不起作用?
【发布时间】:2014-02-26 06:57:57
【问题描述】:

我的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];
}
}

我有一个文本框,我必须在其上调用 javascript 函数,以从隐藏字段中获取值以根据该隐藏字段填充下拉值。

但是代码出了什么问题,它不起作用。

【问题讨论】:

    标签: javascript asp.net events textbox onchange


    【解决方案1】:

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

    document.getElementById("hdn");
    

    下一行也是如此 然后ss1.options[0].text 这也是不正确的 .value在javascript中访问下拉列表时更合适

    【讨论】:

    • 如果我试图通过 "" 获取值,则在警报 alert(document.getElementById("hdn")) 中显示 null
    • 那是因为 arr[0] 没有什么可显示的,你需要更多地了解如何在 javascript 中做事,也许你最好使用 .getElementById("txtCustomer") 代替 hdn
    • 对于显示 OBJECTHTMLINPUTELEMENT 的其他控件的警报消息。 nd arr[0] 后面写在js代码中,从一开始我就发出警报
    【解决方案2】:

    试试这个

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

    【讨论】:

      猜你喜欢
      • 2022-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多