1

我在试图获取用户屏幕分辨率的表单中有一个隐藏字段。然后在处理端通过 php.ini 检索屏幕分辨率。不幸的是,我对 javascript 的理解非常有限。这就是我所拥有的。我真的很感激任何帮助。

<head>
    <script type="text/javascript">
        function xy(){
            document.write(screen.width + "x" + screen.height);
            document.getElementById('xy').value;
            }           
    </script>
</head>




<form action="" method=post >

    //other fields here

    <input type="hidden" name="xy" id="xy" value=""/>
    <input type=submit name="button" value="button" /> 
</form>

当我查看页面的源代码时,我不应该看到设置为例如“1366x768”的值吗?现在在处理方面,我想像这样用 php 提取信息。

if(isset($_POST['xy']) && (!empty($_POST['xy'])){
 $blah = $_POST['xy'];
 //sanatize $blah;
    }
4

3 回答 3

3

您可以使用

<script type="text/javascript">
    function setResolution()
    {
        document.getElementById('xy').value = screen.width + "x" + screen.height;
    }
</script>

然后,在提交时,确保函数已执行

<input type="submit" name="button" value="button" onclick="setResolution()" />
于 2012-04-21T17:15:44.497 回答
1

采用

function xy(){
    document.getElementById('xy').value = screen.width + "x" + screen.height;

}

并在呈现表单后使用脚本标签或执行函数,否则将找不到元素

编辑:添加小提琴

于 2012-04-21T17:12:12.677 回答
1

乌利乌,

你不调用函数,所以你什么都得不到......

如果你改变这个,我相信它会为你工作:

<head> 
<script type="text/javascript"> 
        document.write(screen.width + "x" + screen.height); //this will write on the html page 
        document.getElementById('xy').value=screen.width + "x" + screen.height; // this will put the resolution in your form's hidden field
</script> 

于 2012-04-21T19:12:36.317 回答