2016-02-03 40 views
1

這涉及到我剛纔的問題:我通過使用ajax形式和speedMbps在JavaScript retrieving video from database using php傳遞價值的JavaScript的HTML

關於前一個問題$( 「#speed」).VAL(HTML) ;期望一個返回值,所以我無法將我的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文件回聲$速度也沒有得到迴音..看起來像沒有價值是通從javascript到我的html表單。

錯誤的控制檯上

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

你試過了嗎? – adeneo

+0

你還沒試過嗎?只需提交表格 – Ghost

+0

可悲的是它沒有得到錯誤數組回調必須包含$ speed = $ _POST('speed')上的索引0和1; –

回答

0

我解決了這個問題。

刪除return speedMbps;我設法檢索值並將值傳遞到我的PHP文件。

0

你正在使用return語句數據設置成表格之前,輸入意外結束。

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

不能得到它的工作... –

+0

你在控制檯上得到什麼錯誤? –