2014-02-26 83 views
1

我的ASP控制:爲什麼textbox onchange事件調用javascriptfunction不工作?

<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函數,擺脫隱藏字段的值來填充基於該下拉值隱藏的提交。

但它不工作代碼有什麼問題。

回答

1

在代碼 中有一些不正確的地方,第一個document.getElementById(hdn);應該用於單引號或雙引號,例如

document.getElementById("hdn"); 

同樣是下一行的情況下,也 然後ss1.options[0].text這是不正確以及 .value訪問下拉列表中的JavaScript

+0

如果我當是更合適我試圖通過「」,然後顯示空警報警報(document.getElementById(「hdn」)) – sona

+0

這是因爲arr [0]沒有什麼可顯示,你需要更多瞭解如何做的事情在JavaScript中,也許你會更好地使用.getElementById(「txtCustomer」)來代替hdn –

+0

對於其他控件提示消息顯示OBJECTHTMLINPUTELEMENT。釹arr [0]後來寫在js代碼,從開始我提醒 – sona

0

試試這個

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