我需要将一个javascript值传递给asp.net中的标签。 javascript函数在JScript1.js中。我将值传递给隐藏字段。我已经将脚本添加到内容页面的源代码中,如下所示,但每当我将函数值调用到后面的vb.net代码时,它都不起作用。
<script src="JScript1.js" type="text/javascript"></script>
这里是JScript1.js中的javascript函数
function dateTimeToday()
{
var month=new Array();
month[0]="1";
month[1]="2";
month[2]="3";
month[3]="4";
month[4]="5";
month[5]="6";
month[6]="7";
month[7]="8";
month[8]="9";
month[9]="10";
month[10]="11";
month[11]="12";
var d = new Date();
var mt=month[d.getMonth()];
var h=d.getHours();
var m=d.getMinutes();
var s=d.getSeconds();
mt=checkMonth(mt);
m=checkTime(m);
s=checkTime(s);
var x = document.getElementById("HiddenField1");
x.innerHTML=d.getFullYear()+"-"+mt+"-"+d.getDate()+" " +h+":"+m+":"+s;;
t=setTimeout(function(){myFunction()},500);
}
function checkTime(i)
{
if (i<10)
{
i="0" + i;
}
return i;
}
function checkMonth(j)
{
if (j<10)
{
j="0" + j;
}
return j;
}
以下是我调用javascript值的代码。
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
lbl.Text = HiddenField1.Value
End If
End Sub
我的代码上遗漏了什么吗?
请帮忙。
提前致谢。
答案 0 :(得分:0)
您需要设置输入字段的值,而不是innerHtml:
var x = document.getElementById("HiddenField1");
x.value =d.getFullYear()+"-"+mt+"-"+d.getDate()+" " +h+":"+m+":"+s;
并且考虑到渲染页面时asp.net控件的ID可能会改变,您可以使用:
var x = document.getElementById('<%= HiddenField1.ClientId %>');
x.value =d.getFullYear()+"-"+mt+"-"+d.getDate()+" " +h+":"+m+":"+s;
答案 1 :(得分:0)
我希望你想在javascript中的隐藏字段中设置值。你可以做..
document.getElementById("HiddenField1").value=d.getFullYear()+"-"+mt+"-"+d.getDate()+" " +h+":"+m+":"+s;
在代码背后..
lbl.Text = HiddenField1.Value;
隐藏输入标记..
<input id="HiddenField1" type="hidden" runat="server" clientidmode="Static" value=""/>