将 javascript 值传递给 html


Passing javascript value to html

这与我之前的问题有关:使用 php 从数据库中检索视频

在上一个问题上,我使用 ajax 形式和 $( "#speed" ).val( html ) 在 javascript 中传递 speedMbps ;期望返回值,所以我无法在 viewvideo 中嵌入我的 html 代码.php。

我想到了另一种将 speedMbps 传递到我的 php 中的方法。

将值 speedMbps 传递到我的 html 表单中,该表单可以使用方法 POST 将数据发送到我的 php 文件。

var imageAddr = "testimage.jpg"; 
var downloadSize = 2097152; //bytes
window.onload = function() {
    var oProgress = document.getElementById("speed");
    oProgress.value = "Loading the image, please wait...";
    window.setTimeout(MeasureConnectionSpeed, 1);
};
function MeasureConnectionSpeed() {
    var oProgress = document.getElementById("speed");
    var startTime, endTime;
    var download = new Image();
    download.onload = function () {
        endTime = (new Date()).getTime();
        showResults();
    }
    download.onerror = function (err, msg) {
        oProgress.value = "Invalid image, or error downloading";
    }
    startTime = (new Date()).getTime();
    var cacheBuster = "?nnn=" + startTime;
    download.src = imageAddr + cacheBuster;

    function showResults() {
        var duration = (endTime - startTime) / 1000;
        var bitsLoaded = downloadSize * 8;
        var speedBps = (bitsLoaded / duration).toFixed(2);
        var speedKbps = (speedBps / 1024).toFixed(2);
        var speedMbps = (speedKbps / 1024).toFixed(2);
        return speedMbps;
        oProgress.value = "Your connection speed is:        <br />" + 
           speedBps + " bps<br />"   + 
           speedKbps + " kbps<br />" + 
           speedMbps + " Mbps<br />";
document.getElementById("speed").value = speedMbps;   

网页代码

                <input type="text" id="speed" name="speed" value="">

观看视频.php

$speed= $_POST['speed'];

编辑:当我在我的php文件中回显$speed时,它没有得到echo..看起来没有值从javascript传递到我的html表单。

控制台上的错误是输入意外结束

document.getElementById("speed").value = speedMbps;

您在将数据设置为表单之前使用的是 return 语句。

document.getElementById("speed").value = speedMbps;    return speedMbps;

我解决了这个问题。

删除return speedMbps;我设法检索值并将值传递到我的 PHP 文件中。