最近用到隐藏域,困惑的一阵,终于解决,记下来共享
在这里用到是选择省市获取选择的省市的名称,用的是隐藏域,将获取的省市名称传给隐藏域,再从后台获取隐藏域的内容。
这是在<body>中的
<select id="province" οnchange="javascript:selectchange(province,city);"></select>
<asp:HiddenField ID="hidProvince" runat="server" />
这是在javascript中的代码
//下拉列表改变事件
function selectchange(province, city) {
delCitys(city);
addCitys(province, city);
var pindex = province.selectedIndex;
var cindex = city.selectedIndex;
hidden(province.options[pindex].innerHTML, city.options[cindex].innerHTML);
}
function hidden(ptxt, ctxt) {
var p = ptxt;
var c = ctxt;
var hidp = document.getElementById("hidProvince");
hidp.value = p;
var hidc = document.getElementById("hidCity");
hidc.value = c;
// document.getElementById("<%=hidProvince.ClientID%>").value = p;
// document.getElementById("<%=hidCity.ClientID%>").value = c;
}
后台获取隐藏域内容。
一,form表单提交,后台获取办法
string city = Request.Form["hidCity"];
二,buttonclick事件提交
string pro = this.hidProvince.Value;
需要有几个注意的问题
一,form表单提交时,用getelementById方法。而且要如下写法,不然容易出问题
var hidp = document.getElementById("hidProvince");
hidp.value = p;
二,如果是通过buttonclick事件提交,用下面写法,
document.getElementById("<%=hidProvince.ClientID%>").value = p;