js代码:
function save(){
if(a1==1&&b1==2){
document.getElementById("hidValue1").value="TextBox2";
}
else if(a1==2&&b1==1){
document.getElementById("hidValue1").value="TextBox1";
}
}
.aspx代码
<asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="save()" OnClick="Button1_Click"/>
<asp:HiddenField ID="hidValue1" runat="server"/>
我想获取隐藏控件hidValue1的值 怎么值赋值不了一样,后台hidValue1.text 为空?
你要先确认 你是否满足条件、可以先赋个默认值。你这样试试
function save(){
var obj=document.getElementById("hidValue1");
obj.value="defaultValue";
if(a1==1&&b1==2){
obj.value="TextBox2"
}
else if(a1==2&&b1==1){
obj.value="TextBox1";
}
}
TextBox1,TextBox2,你的这个是什么东西,是后台标记还是 前台标记?
如果是前台的话用 document.getElementById("TextBox1").value获取,后台的就不能这样写了,
建议使用前台html标记
你看看生成的html,有hidValue1这个东西吗?
<asp:HiddenField ID="hidValue1" runat="server"/>
document.getElementById("hidValue1").value="TextBox2";
注意,HiddenField是服务器控件,而document.getElementById("hidValue1")这样写是不正确的,因为hidValue1会因为ASP.NET页面的层次发生改变,应该使用
document.getElementById("<%=hidValue1.ClientID%>").value="TextBox2";
你后台代码有问题,应该是hidValue1.Value.ToString(),不是Text