【问题标题】:Unable to set hidden field value in javascript无法在 javascript 中设置隐藏字段值
【发布时间】:2012-05-10 07:39:00
【问题描述】:

我在aspx中定义了一个隐藏文件:-

<asp:HiddenField runat ="server" ID="hfBrand" value = "False" />

一个组合框控件正在调用一个 JavaScript 函数函数:-

<telerik:RadComboBox ID="Brands" runat="server"  
                onclientselectedindexchanged="LoadProperties"
                AutoPostBack="True">
</telerik:RadComboBox>

在该函数中,我试图将隐藏字段值设置为“True”:-

function LoadProperties(sender, eventArgs)
{ 
var lblBrand = document.getElementById('<%= hfBrand.ClientID %>').value;
alert(lblBrand);
document.getElementById('<%= hfBrand.ClientID %>').value = "True";
alert(lblBrand)
}

问题:- 我无法将隐藏字段值设置为 TRUE。为什么会这样??以及如何做到这一点?

更新:- 这是让我得到正确期望输出的解决方案:-

var lblBrand = document.getElementById('<%= hfBrand.ClientID %>').value;
alert(lblBrand);
lblBrand = "True";
alert (lblBrand);

感谢所有帮助过我的人。

【问题讨论】:

  • 警报是否出现?
  • 它是否正确地触发了您的警报,如果是,输出是什么。您是否还有它为隐藏字段输出的 html 和完成后的 javascript 函数?
  • @Aristos - 两个时间警报都来了。但值为“假”。
  • @Steve - 我可以获得的 HTML 源代码。但问题是为什么一个简单的值字段没有改变。
  • 从源页面显示函数 LoadProperties

标签: javascript asp.net hidden-field


【解决方案1】:

您的第二个警报不是指隐藏值新值。更新 hfBrand 输入值后,lblBrand 值不会改变

function LoadProperties(sender, eventArgs)
{ 
var lblBrand = document.getElementById('<%= hfBrand.ClientID %>');
alert(lblBrand.value);
document.getElementById('<%= hfBrand.ClientID %>').value = "True";
alert(lblBrand.value)
}

试试这个代码!

我认为它正在设置它,您需要再次获取输入的值...

(如果您想查看更改,只需将隐藏的输入暂时更改为普通文本框

【讨论】:

  • 你输入得更快 :) 所以保留你的,这是这里的错误,警报显示相同的值。
  • @steve and Aristos--- 如果成功设置为“TRUE”,我将如何确定。因为我必须在服务器端使用这个值进行一些验证。请帮助
  • 在第二个警报中使用alert(document.getElementById('&lt;%= hfBrand.ClientID %&gt;').value);
  • 我放在上面的代码应该提醒隐藏文本框的新值。或使用 chrome 检查元素(或 ie/firefox 中的等效元素)并简单地查看值
  • @Steve - 是的。您对正确方法的指导有所帮助。非常感谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多