javascript 无法使用隐藏字段

标签 javascript asp.net .net

我想在我的 JavaScript 中找到隐藏字段,但它显示未定义的值。

我的脚本是,

<script type="text/javascript">      
             var i = document.getElementById('HiddenField4').value;
              while (i < cn) {
              photoslink[i] = cnSplit[i];
              photos[i] = b[i];
              i++;
          }            
 alert(i);

         var mygallery2 = new fadeSlideShow({

             wrapperid: "fadeshow2", //ID of blank DIV on page to house Slideshow
             dimensions: [568, 313], //width/height of gallery in pixels. Should reflect dimensions of largest image
             imagearray: [
  ["images/1.jpg", "", "", ""],
  ["images/2.jpg", "", "", ""],
  ["images/3.jpg"],
  ["images/4.jpg", "", "", ""] //<--no trailing comma after very last image element!
 ],
             displaymode: { type: 'auto', pause: 2500, cycles: 0, wraparound: false },
             persist: false, //remember last viewed slide and recall within same session?
             fadeduration: 500, //transition duration (milliseconds)
             descreveal: "always",
             togglerid: "fadeshow2toggler"
         })
</script>

最佳答案

我可以想到两种可能性 - 首先,HiddenField4 是一个服务器控件,因此在这种情况下,您需要使用它的客户端 id。您可以使用诸如

之类的语法
var i= document.getElementById('<%=HiddenField4.ClientID %>').value;

第二个问题可能是该脚本放置在页面顶部,而隐藏元素位于页面下方。因此,当脚本执行时,隐藏字段不存在。解决方案是移动页面底部的脚本 block 或使用某些事件(在正文上加载)在页面加载后执行脚本。例如,

<script type="text/javascript">  

   function executeMyScript() { 
             var i = document.getElementById('HiddenField4').value;
              while (i < cn) {
              photoslink[i] = cnSplit[i];
              photos[i] = b[i];
              i++;
          }            

         var mygallery2 = new fadeSlideShow({
       ... // rest of the script
 }
</script>

并在 body 元素上使用 onload 事件

... // header and script
<body onload="executeMyScript();">
... // rest of the html

关于javascript 无法使用隐藏字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4143914/

相关文章:

asp.net - azure 网站不会从基本网站缩小,因为报告的大小不正确

c# - 自定义错误页面未在 IIS7 ASP.NET 上显示

c# - .NET 包含的哪些哈希算法适用于密码哈希?

JavaScript/html : Remove element by ID on button click

javascript - 按字母顺序对数组排序 - Angularjs

javascript - 在最后一页提交之前,我们如何跨不同页面存储多个字段值。

c# - 使用基于 F# 的测试工具对 C# 实现进行单元测试

javascript - 从 2 个不同的 HTML 文件导入 Div 并添加其内容

javascript - 如果对象包含在另一个数组中,则从数组中删除对象

c# - 将日期从 mm/dd/yyyy 转换为 yyyymmdd 的 javascript 函数