获取滑块值到PHP

时间:2016-02-15 10:09:26

标签: javascript php html

我正在尝试制作图像压缩工具,其中我想用滑块定义压缩率。 滑块的值是php-function imagejpeg的输入,这就是我被卡住的地方......

我无法将滑块值输入php ...

我正在使用我创建的 HTML 滑块,如下所示:

<form action="" method="POST">
    <input type="range" min="0" max="100" value="100" step="1" id="compressSlider" name="ratiovalue"  oninput="ratioCalculate(value)" style="width:400px;">
    <span id="volume">100</span>
</form>

这是我的 Javascript PHP - 代码:

<script>        
        function ratioCalculate(slider) {
            var slideval = document.getElementById("volume");
            var filesizekb = document.getElementById("Filesizekb");
            var filesizepro = document.getElementById("Filesizepro");

            <?php

                $compressed_image = new handledImage();
                $temp_image = imagecreatefromjpeg($_SESSION['targetfile']);

                if(isset($_POST['compressSlider'])) {  
                    imagejpeg($temp_image, 'uploads/compressedSliderImage.jpg', $_POST['compressSlider']);
                    $compressed_image->name = 'compressedSliderImage';
                    $compressed_image->type = 'jpg';
                    $compressed_image->size = filesize('uploads/compressedSliderImage.jpg');
                    $compressed_image->ratio = $_POST['compressSlider'];

                    $images[5] = $compressed_image;
               } 
               else {
                   $compressed_image->ratio = -1;
               }
            ?>

            slideval.innerHTML = slider;
            document.getElementById('compressed_shown').src = 'uploads/compressedSliderImage.jpg';
            filesizekb.innerHTML = 'Filesize (kB): '+<?php // echo convert_unit($images[5]->size); ?>;
            filesizepro.innerHTML = 'Filesize (%): '+<?php // echo calculate_percentage($images[5]->size, $images[0]->size); ?>;
        }

    </script>

Slider是Javascript中滑块的值。当我使用我的滑块时,Javascript变量会发生变化,但是php变量($ _POST [&#39; compressSlider&#39;])不会...

1 个答案:

答案 0 :(得分:0)

提交按钮在哪里? 您无法与客户端同步更新服务器端。 什么时候重新加载页面并发送POST数据? 我的意思是在加载页面时设置了javascript函数中的数据。 也许更新按钮或申请?并使用$ _POST重新加载页面?

名字错了..

<input type="range" min="0" max="100" value="100" step="1" id="compressSlider" name="ratiovalue"  oninput="ratioCalculate(value)" style="width:400px;">

应该是

<input type="range" min="0" max="100" value="100" step="1" id="compressSlider" name="compressSlider"  oninput="ratioCalculate(value)" style="width:400px;">