如何在我的TextBox中写x和y,我写这个但不是Work
<script language="javascript" type="text/javaScript">
function PantallaResolucion()
{
var x = screen.width.toString();
var y = screen.height.toString();
var xx = document.getElementById("HiddenField1");
var yy = document.getElementById("HiddenField2");
xx.value = x;
yy.value = y;
}
</script>
我的asp.net代码
<asp:HiddenField ID="HiddenField1" runat="server" />
<asp:HiddenField ID="HiddenField2" runat="server" />
C#代码
protected void Page_Load(object sender, EventArgs e)
{
string c = "<script language='javascript'> PantallaResolucion(); </script> ";
ClientScript.RegisterStartupScript(this.GetType(), "PantallaResolucion();", c);
TextBox1.Text = HiddenField1.Value.ToString() + "x" + HiddenField2.Value.ToString();// NOT WORK**
}
答案 0 :(得分:2)
您可以尝试以下方法:
var xx = document.getElementById("<%= HiddenField1.ClientID%>");
var yy = document.getElementById("<%= HiddenField2.ClientID%>");
您可以查看here以查看有关为何需要这样做的详细说明。根据这个链接,用几句话说:
当Web服务器控件呈现为HTML元素时,id HTML元素的属性设置为ClientID的值 属性。 ClientID值通常用于访问HTML元素 在客户端脚本中使用document.getElementById方法。
对整个问题采取更明确的方法如下:
将此脚本放在页面底部,在结束标记</body>
<script>
function PantallaResolucion(){
var width = screen.width.toString();
var height = screen.height.toString();
var hiddenFld1 = document.getElementById("<%= HiddenField1.ClientID%>");
var hiddenFld2 = document.getElementById("<%= HiddenField2.ClientID%>");
hiddenFld1.value = width;
hiddenFld2.value = height;
var textBox1 = document.getElemenetById("<%=TextBox1.ClientID%>");
textBox1.value = hiddenFld1.value + "x" + hiddenFld2.value;
}
</script>
然后清除Page_Load
方法中的语句。 顺便说一下,我认为没有理由拥有这两个隐藏的输入。您可以删除它们并对上述脚本进行相应的更改。
答案 1 :(得分:1)
好的,不需要服务器端逻辑。你可以在客户端做所有事情:
<script language="javascript" type="text/javaScript">
var text = document.getElementById("<%= TextBox1.ClientID%>");
var x = screen.width.toString();
var y = screen.height.toString();
text.value = x + ' ' + y;
</script>
我相信这就是你想要的