2012-09-12 148 views
0

我的問題是我有一個php變量$ ba,從數據庫中檢索到147的值,我的代碼的下面snipets不起作用,沒有顯示圖像。如果我加$ ba = 147;在fill_div調用之前它完美地工作。我被困在爲什麼當數據庫從數據庫填充$ ba時,它的工作原理。 在這兩種情況下,檢查頁面的源代碼都會顯示正在填充的呼叫fill_div(「147」);在javascript函數中使用php變量

<script type='text/javascript'> 
    function fill_div(ba) 
    { 
     document.getElementById("ba").innerHTML="<img src='admin/images/image.gif'/>"; 
    } 
</script> 

<script> 
    fill_div("<? echo stripslashes($ba); ?>"); 
</script 

<div id="<? echo $ba ?>" style="border:1px solid; width:120px; height:40px"></div> 
+0

如果它沒有從數據庫填充 - 這個問題如何與HTML和JavaScript相關? – zerkms

+1

請顯示代碼中聲明'$ ba'的地方。它是在一個函數內嗎?另外,你的javascript應該是'document.getElementById(ba);' – cegfault

+0

從getElementById(ba)刪除了引號沒有做任何不同 – user1664457

回答

4

你傳遞字符串文字"ba"getElementById當你需要傳遞變量ba

document.getElementById(ba).innerHTML="<img src='admin/images/image.gif'/>"; 

而且該的stripslashes可能不是一個好主意,如果$ba有報價在裏面,如果$ba有一個"它會導致你的JavaScript錯誤,如果它不逃脫。

+0

我添加了stripslashes的機會可能會有所不同,「現在已被刪除,結果相同 – user1664457

1
document.getElementById("ba") 

應該

document.getElementById(ba) 
3

嘗試..

document.getElementById(ba).innerHTML 
0

試着改變你的document.getElementById到:

的document.getElementById(BA)

如果已經引用(如在你的e xample代碼)「ba」被視爲一個字符串,而不是一個變量。

+0

感謝您的答案,但即使沒有」仍然不工作 – user1664457