【问题标题】:How to get hidden field value code behind updated by jquery/javascript如何获取由 jquery/javascript 更新的隐藏字段值代码
【发布时间】:2013-03-05 06:24:42
【问题描述】:

我有一个<asp:menu/> 控件和一个隐藏字段。现在我正在使用 jQuery 来更改隐藏字段的值。 代码是:-

$(function() {

    $(".primaryStaticMenu  tr,td").each(function(index) {

        $(this).click(function() {

            if ($(this).attr("title") != "undefined"
                && $(this).attr("title").length > 0) {

                document.getElementById('ctl00_Hidden_Master_Location').value = $(this).attr("title");

                alert(document.getElementById('ctl00_Hidden_Master_Location').value);
                //return false;
            }
        });
    });
});

获取更新值的服务器端代码是:-

string Get_cng_value = Hidden_Master_Location.Value;

但是Hidden_Master_Location.Value 每次都显示null。 谁能告诉我如何从后面的代码中获取隐藏字段的更新值。

【问题讨论】:

  • 请提供隐藏字段的aspx页面代码
  • 这一行在浏览器中提示什么? alert(document.getElementById('ctl00_Hidden_​​Master_Location').value);
  • 我是 jquery 的新手,但是隐藏字段的 id 是 ctl00_Hidden_Master_Location,不应该在服务器代码中使用它来引用它而不是 Hidden_Master_Location.Value
  • 除了服务器端代码之外,还显示了您如何向服务器提交数据(您的问题中缺少该部分脚本/HTML)。
  • 试试:document.getElementById(<%=Hidden_Master_Location.ClientId%>.value);

标签: c# javascript jquery asp.net


【解决方案1】:

假设你的隐藏字段是..

<asp:HiddenField ID="Hidden_Master_Location" runat="server"  />

你可以在jquery中得到隐藏字段的值

var locationValue= $("#<%= Hidden_Master_Location.ClientID %>").val();

【讨论】:

  • 它在客户端工作正常我需要从服务器端代码访问更新的值。我无法获得该值。
  • @ashish,确保您的隐藏值不会在页面加载、回发时被清除。
  • 我将此代码放在表单加载中,但值为空。代码:- String Get_cng_value = Hidden_​​Master_Location.Value;
【解决方案2】:

这样做,它对我有用。诀窍是将您的隐藏字段珍贵 id 保存在另一个隐藏输入字段中,然后使用该隐藏值重新构建它。

标记

<asp:HiddenField ID="HiddenFieldMaster" runat="server" />
   <input type="hidden" id="inputHidden" value='<%= HiddenFieldMaster.ClientID%>' />

Javascript

    $(function() {

$(".primaryStaticMenu  tr,td").each(function(index) {

    $(this).click(function() {

        if ($(this).attr("title") != "undefined"
            && $(this).attr("title").length > 0) {

           var inputHidden = document.getElementById('inputHidden');
                $("#" + inputHidden.value).val($(this).attr("title"));

            alert(inputHidden.value);
            //return false;
        }
    });
});
 });

代码背后

String Get_cng_value = HiddenFieldMaster.Value;

【讨论】:

  • 很抱歉,但它不起作用。隐藏字段在简单的 aspx 页面上正常工作。但是在这里我的母版页包含这个隐藏字段,并且在母版页加载事件中隐藏字段值被清除。我无法访问该值。
  • 很抱歉听到这个消息。您必须调查页面生命周期中发生的情况。尝试使用隐藏 css 类的文本框,看看它的价值是否也被抹去了。
  • 我尝试使用文本框控件,但问题仍然存在。页面加载时文本框的值被清除。
  • 压缩有问题的文件并将它们放在盒子里,以便我查看。压缩主窗体及其子窗体。
猜你喜欢
  • 2011-12-29
  • 2014-04-10
  • 1970-01-01
  • 2011-03-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多