这与我之前的问题有关:retrieving video from database using php
在上一个问题中,我使用 ajax
表单和 $( "#speed").val( html ); 在 JavaScript 中传递 speedMbps期望返回值,因此我无法将我的 html 代码嵌入到 viewvideo.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;
HTML代码
<input type="text" id="speed" name="speed" value="">
viewvideo.php
$speed= $_POST['speed'];
编辑:当我在 php 文件中 echo $speed 时,它没有得到 echo.. 看起来没有值从 javascript 传递到我的 html 表单。
控制台上的错误是输入意外结束
document.getElementById("speed").value = speedMbps;
最佳答案
在将数据设置到表单中之前,您正在使用 return 语句。
document.getElementById("speed").value = speedMbps; return speedMbps;
关于javascript - 将 javascript 值传递给 html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35167354/