1

ユーザーの画面解像度を取得しようとしているフォームに隠しフィールドがあります。次に、処理側で、php を介して画面解像度を取得します。残念ながら、私の 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 に答える