这与我之前的问题有关:retrieving video from database using php
在上一个问题中,我使用ajax
表单和$(“#speed”)。val(html)在javascript中传递 speedMbps ;期望返回值,所以我无法在viewvideo.php中嵌入我的html代码。
我想到了将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文件中回显$ speed时,它没有得到回声..看起来没有值从javascript传递到我的html表单。
控制台上的错误是
上意外的输入结束document.getElementById("speed").value = speedMbps;
答案 0 :(得分:0)
Your are using return statement before setting up data into form.
document.getElementById("speed").value = speedMbps; return speedMbps;
答案 1 :(得分:0)
i solve the problem.
deleting return speedMbps;
i manage to retrieve the value and pass the value into my php file.