2014-01-25 105 views
0

我正在使用此PHP代碼編寫HTML表格,但加載需要一些時間。我認爲讓JavaScript執行這項工作是個好主意,但問題是$ width和$ height是動態的,並且是在服務器端定義的。我該如何解決這個問題?通過PHP執行javascript

echo "<table>"; 

    for ($y = 0; $y < $height; $y++) { 
     echo "<tr>"; 
     for ($x = 0; $x < $width; $x++) { 
      echo '<td x="' . $x . ' y="' . $y . ' id="' . $x . '-' . $y . '"></td>';  //coordinates to be used for cropping later 
     } 
     echo '</tr>'; 
    } 
    echo '</table>'; 
+0

如果你知道AJAX,可以調用ajax來調用yr服務器來動態獲取寬度和高度,我猜 – lovetostrike

+0

使用AJAX會過度。只需按照@kevinAlbs的建議回顯變量即可 – MrVimes

回答

0

認沽PHP變量在JavaScript

<script> 

var height = <?php echo $height ?>; 

</script> 
1

我不確定這是不是最好的做法,但你可以從呼應PHP直接爲JavaScript。例如:

<script> 
var width = <?php echo $width; ?>; 
var height = <?php echo $height; ?>; 
//now build table here using the Javascript width and height variables 
</script> 
0

如果沒有至高無上的形式intented在你的頁面存在,你可以把它們在隱藏的HTML標籤存儲爲隱藏的投入,像這樣:

echo ="<form action ='#' name='form'> 
<input type='hidden' name='v_height' id='v_height' value='".$height."'> 
<input type='hidden' name='v_width' id='v_width' value='".$width."'> 
</form>"; 

然後在Javascript中獲得這些變量並迭代它們。

jHeight = parseInt(document.form.v_height.value); 

等寬度。