我想在我的javascript中找到隐藏字段,但它显示未定义的值。
myscript是,
<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>
答案 0 :(得分:2)
我可以想到两种可能性 - 首先HiddenField4
是服务器控件,所以在这种情况下,你需要使用它的客户端ID。您可以使用
var i= document.getElementById('<%=HiddenField4.ClientID %>').value;
第二个问题可能是此脚本位于页面顶部,而隐藏元素位于下方。因此,当脚本执行时,隐藏字段不存在。解决方案是移动页面底部的脚本块,或者在加载页面后使用某个事件(在主体上加载)来执行脚本。例如,
<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
答案 1 :(得分:1)
元素HiddenField4
是否存在?如果是这样,你检查过它是否有相同的情况?
答案 2 :(得分:1)
我怀疑'HiddenField4'是隐藏字段控件的实际客户端ID。您应该将'HiddenField4'替换为'&lt;%= HiddenField4.ClientID%&gt;'。 ASP.NET将任何控件的id更改为更独特的层次结构形式,可以在.ClientID属性中找到。
答案 3 :(得分:1)
您的脚本是否位于 之后 ID为HiddenField4的元素? 为什么不在domready / onload上运行该片段?
答案 4 :(得分:0)
实际上,服务器控件ID与其client id
不同所以你可以这样做
<script type="text/javascript">
var HiddenField4 = '<%=HiddenField4.ClientID %>';
var i = document.getElementById('HiddenField4').value;
while (i < cn) {
photoslink[i] = cnSplit[i];
photos[i] = b[i];
i++;
}
alert(i);
/* remaining code here*/
</script>